前提
Pythonでmdatesを用いたグラフを作っています。
グラフの枠組みができても,数値をグラフに反映させることができません.
実現したいこと
x軸が時間,y軸が数値のグラフを作りたい.
y軸の数値はcsvファイルから引用したい.
↑このcsvファイルは1列目が20230119_1800のような時間を表すものになっており,2列目が数値になっている.
エラーなどはないが,折れ線グラフが表示されない.
該当のソースコード
Python
1import matplotlib.pyplot as plt 2import matplotlib.dates as mdates 3import pandas as pd 4import tabulate 5import numpy as np 6 7# テストデータ line6~15 8tm=pd.date_range("20191209 0:00" ,"20191210 0:00" , freq="60min") 9 10dt= pd.read_csv("readimage2.csv",encoding="SHIFT_JIS",usecols=[0,1]) 11 12df=pd.DataFrame(dt) 13 14print(df.to_markdown()) 15 16 17#ここから下はグラフ作成 18 19fig = plt.figure(facecolor="white") 20ax = fig.add_subplot( 21 211, 22 title="20221211 - 20221212", 23 xlabel="Time", 24 ylabel='Coordinate', 25 ) 26 27ax.plot(df["value"] , data=tm ) 28ax.grid(True) 29 30 31#ここから下はグラフの詳細 32 33#x軸の描画の範囲を指定。これを入れないと、時刻がうまくそろわない 34ax.set_xlim(tm[0] , tm[24]) 35 36 37#2時間おきにラベル 38Minute1=mdates.MinuteLocator(range(120),120) 39ax.xaxis.set_major_locator(Minute1) 40 41#30分おきに軸線 42Minute2=mdates.MinuteLocator(range(60),30) 43ax.xaxis.set_minor_locator(Minute2) 44 45#H:M のフォーマットでラベルを書く 46Minute_fmt = mdates.DateFormatter('%H:%M') 47ax.xaxis.set_major_formatter(Minute_fmt) 48 49 50#縦書きの指定 51plt.setp(ax.get_xticklabels(), rotation=45, ha="right") 52 53plt.show() #画像表示
試したこと
ax.plotの中身をいじってみたのですが線がそもそも現れない.
補足情報(FW/ツールのバージョンなど)
python3を使用.

回答1件
あなたの回答
tips
プレビュー