質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

308閲覧

pythonのpandas使用時におけるグラフの設定

minwinmin

総合スコア16

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2018/01/03 14:14

こんにちは.
現在,python3.xを使用しpandasでデータの処理を行うプログラムを書いています.
そこで,取り込んだデータをグラフ化する際にどうしてもうまくいかないことがあります.
データを一つのdataframeにまとめ,indexには計測した際の時間軸を設定しています.そのindexをx軸としてグラフ化した際に表示したのですが,y軸の値しか表示されず困っています.どのようにすれば改善されるでしょうか?

lang

1import xlrd 2import csv 3import pandas as pd 4import os 5import tkinter 6import tkinter.filedialog as tk 7import tkinter.messagebox 8 9root = tkinter.Tk() 10root.withdraw() 11fTyp = [("","*")] 12iDir = os.path.abspath(os.path.dirname(__file__)) 13files = tkinter.filedialog.askopenfiles(filetypes = fTyp, initialdir = iDir) 14 15frame = pd.DataFrame() 16 17list = [] 18 19 20for f in files: 21 col_names = [ 'c{0:02d}'.format(i) for i in range(4) ] 22 csv_data2 = pd.read_csv(f,encoding='SHIFT-JIS',names = col_names) 23 data = csv_data2[['c01']] 24 data2 = csv_data2.loc[30:10030,['c01']] 25 delta = csv_data2.loc[5,['c01']] 26 list.append(data2) 27 frame = pd.concat(list, axis=1) 28 29frame.index = ['{0:.20f}'.format(float(x)*float(delta)) for x in range(len(frame.index))] 30#この一行がdataframe上でindexとして時間を追加しています 31frame.columns = ['{0:.1f}V'.format(25*voltage) for voltage in range(len(frame.columns))] 32frame.to_csv("result.csv") 33frame = frame.astype(float) 34 35voltage_num = 0 36 37for voltage_num in range(len(frame.columns)): 38 frame_fig = frame.plot( 39 y = frame.columns[voltage_num]) 40 fig = frame_fig.get_figure() 41 fig.savefig('result{}.png'.format(voltage_num), dpi = 300)

出力結果
イメージ説明
x軸に値が表示されません…

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まずplt.show()して見ることで、そもそもプロットされているのかを確かめるべきだと思います。

書き出し時に切り取られている可能性もあるので、その場合はsavefigする前にfig.tight_layout()をすることで解消する可能性があります。

投稿2018/01/03 15:28

mkgrei

総合スコア8560

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問