pythonでexcelのデータを読み込んで、グラフを描画している様子を出力したい

実現したいこと

pythonでexcelの時系列データを読み込んで、そのデータをグラフにリアルタイムで描画している様子を出力したいのですが、プログラミング歴が浅く、苦戦しています。どなたかご教授いただければ幸いです。

前提

pythonでexcelの時系列データを読み込んで、グラフを作成しています。
全てのデータを一度でプロットするのはできるのですが、リアルタイムでグラフを描画している様子を出力することができません。

excelの時系列データは以下のようなデータです。
イメージ説明

発生している問題・エラーメッセージ

エラーメッセージ A.append(data["DateTime"].values)のところで 'int' object is not subscriptable と出ます ### 該当のソースコード python ソースコード import pandas as pd import matplotlib.pyplot as plt from datetime import datetime as dt from matplotlib import animation dataname = 'データ名' #データ名の入力 dt_head=dt(2019,5,6,10,38,37) #データの頭の時間 dt_end=dt(2019,5,13,0,0,0) #データの末の時間 #データの読み込み.日時をdatetime形式に変換 data=pd.read_excel(dataname+'.xlsx',header=0, parse_dates={'DateTime': ['Date', 'Time']}) fig = plt.figure() xlim = [0,1000] A, B = [], [] x=data["tn"].values+data["fn"].values #tn,fn,tp,fpはexcelのデータです y=data["tp"].values+data["fp"].values z=x-y z_rolling = pd.DataFrame(z).rolling(window=500).mean() #(tn+fn)-(tp+fp)の移動平均をとったもの def plot(data): plt.cla() # 前のグラフを削除 B.append(z_rolling) A.append(data["DateTime"].values) if len(A) > 1000: # 描画範囲を更新 xlim[0]+=1 xlim[1]+=1 plt.plot(A, B) # 次のグラフを作成 plt.title("sample animation (real time)") plt.ylim([0,1000]) plt.xlim(xlim[0],xlim[1]) # 1秒ごとにplot関数を呼び出してアニメーションを作成 ani = animation.FuncAnimation(fig, plot, interval=1) plt.show() ### 試したこと 様々なサイトを調べまくりましたが、解決できなかったので投稿させていただきました。 ### 補足情報(FW/ツールのバージョンなど) 使用環境・・python プログラムを動かすのにspyderを用いています。

コメントを投稿

0 コメント