0

x 軸にタイムスタンプ、y 軸にカウントを持つ折れ線グラフをプロットしようとしています。matplotlib プロットの出力は、mpld3 save_html() メソッドを使用して html ファイルに保存されます。コードを Windows プラットフォームで実行すると、出力は次のようにレンダリングされます。

Windows 出力 (html レンダリング - 正しい出力)

ここに画像の説明を入力

ただし、私のコードは Amazon クラウド (Arch Linux) で実行する必要があり、以下に示すように x 軸の目盛りを unsigned int として出力します (グラフは数分後に取得されたため、異なって見えます):- ここに画像の説明を入力

実際の日付/タイムスタンプが表示されない理由について、ここで専門家のガイダンスを探してください。

以下に小さな変更を加えたコードを投稿しています。タイムスタンプ付きのデータソースはローカルで定義されています。他のすべては同じです。データソースが異なるため、これは上記と同じグラフをレンダリングしないことに注意してください。

fig2,ax2=plt.subplots() 
dsize=fig2.get_size_inches()    
fig2.set_size_inches((dsize[0]/2)*(1.5),(dsize[1]/2)*(1.25))
data=pd.DataFrame([['2017-12-01 11:55:01',5],['2017-12-01 13:55:03',10],['2017-12-01 16:55:01',3],['2017-12-01 16:55:01',12]],columns=['timestamp','count'])

tt=data['timestamp'].apply(lambda x: datetime.strptime(x,"%Y-%m-%d %H:%M:%S"))
tt1=tt.apply(lambda x: datetime(x.year,x.month,x.day,x.hour))
x=[i for k,i in enumerate(tt1)]
print (x)
y=[i for k, i in enumerate(data['count'])]
print(y)
ax2.minorticks_off()
ax2.tick_params(axis='x', which='major', pad=15)
plt.xticks(rotation=90)
line, =ax2.plot(x,y)
ax2.set_xlabel('Date')
ax2.set_ylabel('Count of Anomalies')
line.set_color("Red")
mpld3.save_html(fig2,'test2.html')
4

0 に答える 0