我正在绘制dataframe df_no_missing的图。用matplotlib更改绘图中的xaxis范围值
df_no_missing.head()
TIMESTAMP datetime64[ns]
P_ACT_KW float64
PERIODE_TARIF object
P_SOUSCR float64
SITE object
TARIF object
depassement float64
dtype: object
Out[236]:
TIMESTAMP P_ACT_KW PERIODE_TARIF P_SOUSCR SITE TARIF depassement date time
2015-08-01 23:10:00 248.0 HC 425.0 ST GEREON TURPE_HTA5 0.0 2015-08-01 23:10:00
2015-08-01 23:20:00 244.0 HC 425.0 ST GEREON TURPE_HTA5 0.0 2015-08-01 23:20:00
2015-08-01 23:30:00 243.0 HC 425.0 ST GEREON TURPE_HTA5 0.0 2015-08-01 23:30:00
2015-08-01 23:40:00 238.0 HC 425.0 ST GEREON TURPE_HTA5 0.0 2015-08-01 23:40:00
2015-08-01 23:50:00 234.0 HC 425.0 ST GEREON TURPE_HTA5 0.0 2015-08-01 23:50:00
我做了一个代表P_ACT_KW和P_SOUSCR与TIMESTAMP的变化的图。 蟒蛇代码如下:
fig = plt.figure(figsize=(11, 6), dpi=100)
ax = fig.add_subplot(111)
yearFmt = mdates.DateFormatter("%H:%M:%S")
ax.xaxis.set_major_formatter(yearFmt)
sns.set_style("darkgrid")
x = pd.to_datetime(df_no_missing.TIMESTAMP, format="%h:%m")
y = df_no_missing.P_ACT_KW
z = df_no_missing.P_SOUSCR
plt.plot(x, y, marker='o', label='P_SOUSCR')
plt.plot(x, z, marker='o', linestyle='--', color='g', label='P_ACT_KW')
plt.xlabel('temps')
plt.ylabel('puissance')
plt.title('variation de la puissance')
plt.legend()
plt.show()
我的问题是我怎么能显示在x轴的时间戳,我的意思是我需要看到时间戳在数据框中显示为检验在这里:23:10:00,23:20:00,23:30:00,23:40:00,23:50:00。而不是01:00,04:00,07:00 ...
谢谢你,如果你能帮助我
最好成绩
一般您可以告诉绘图库它应该使用该轴的标签列表...请参阅pointplot文档:https://stanford.edu/~mwaskom/software/seaborn/generated/seaborn.pointplot.html#seaborn。点图。它有这个设置x轴的'order'参数。你可以试试。 –
@Dr。 Nefario,感谢您的回复,我在这一行添加了订单选项? plt.plot(x,y,marker ='o',label ='P_SOUSCR') – Poisson
是的,试试看。我希望它能起作用。 –