こんにちは.
現在,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)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。