pythonのpandas使用時におけるグラフの設定
解決済
回答 1
投稿
- 評価
- クリップ 0
- VIEW 1,216
こんにちは.
現在,python3.xを使用しpandasでデータの処理を行うプログラムを書いています.
そこで,取り込んだデータをグラフ化する際にどうしてもうまくいかないことがあります.
データを一つのdataframeにまとめ,indexには計測した際の時間軸を設定しています.そのindexをx軸としてグラフ化した際に表示したのですが,y軸の値しか表示されず困っています.どのようにすれば改善されるでしょうか?
import xlrd
import csv
import pandas as pd
import os
import tkinter
import tkinter.filedialog as tk
import tkinter.messagebox
root = tkinter.Tk()
root.withdraw()
fTyp = [("","*")]
iDir = os.path.abspath(os.path.dirname(__file__))
files = tkinter.filedialog.askopenfiles(filetypes = fTyp, initialdir = iDir)
frame = pd.DataFrame()
list = []
for f in files:
col_names = [ 'c{0:02d}'.format(i) for i in range(4) ]
csv_data2 = pd.read_csv(f,encoding='SHIFT-JIS',names = col_names)
data = csv_data2[['c01']]
data2 = csv_data2.loc[30:10030,['c01']]
delta = csv_data2.loc[5,['c01']]
list.append(data2)
frame = pd.concat(list, axis=1)
frame.index = ['{0:.20f}'.format(float(x)*float(delta)) for x in range(len(frame.index))]
#この一行がdataframe上でindexとして時間を追加しています
frame.columns = ['{0:.1f}V'.format(25*voltage) for voltage in range(len(frame.columns))]
frame.to_csv("result.csv")
frame = frame.astype(float)
voltage_num = 0
for voltage_num in range(len(frame.columns)):
frame_fig = frame.plot(
y = frame.columns[voltage_num])
fig = frame_fig.get_figure()
fig.savefig('result{}.png'.format(voltage_num), dpi = 300)
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
checkベストアンサー
0
まずplt.show()して見ることで、そもそもプロットされているのかを確かめるべきだと思います。
書き出し時に切り取られている可能性もあるので、その場合はsavefigする前にfig.tight_layout()をすることで解消する可能性があります。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.37%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる