xlabels仅在两个子图中的一个中显示格式

时间:2017-08-24 07:46:23

标签: python pandas matplotlib axis-labels subplot

我想用子图功能和两个不同的x轴(日期时间格式)绘制2个数字。

我做了以下代码:

fig=plt.figure()
fig.set_size_inches(10,10)
plt.subplot(211)
plt.gca().xaxis.set_major_formatter(dates.DateFormatter('%H:%M:%S'))
plt.gca().xaxis.set_major_locator(dates.MinuteLocator())
plt.plot(WaveLab_df['Time'],WaveLab_df['Active_Power_Starboard_W'])
plt.plot(WaveLab_df['Time'],WaveLab_df['Active_Power_Portside_W'])
plt.gcf().autofmt_xdate()
plt.subplot(212)
plt.plot(df_tempS['DateTime'],df_tempS['Power[W]'])

我获得: My Figure

事实是,在第二个图中,我希望使用相同类型的x标签(小时 - 分钟)。我希望每个情节都是x轴。

我尝试了不同的组合,但我没有成功。

有人作为主意吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

打开第二个子图后,我会尝试再次调用此行。

plt.gca().xaxis.set_major_formatter(dates.DateFormatter('%H:%M:%S'))

答案 1 :(得分:0)

您需要在子图的两个上使用格式化程序和定位器。

fig=plt.figure()
fig.set_size_inches(10,10)

plt.subplot(211)
plt.gca().xaxis.set_major_formatter(dates.DateFormatter('%H:%M:%S'))
plt.gca().xaxis.set_major_locator(dates.MinuteLocator())
plt.plot(WaveLab_df['Time'],WaveLab_df['Active_Power_Starboard_W'])
plt.plot(WaveLab_df['Time'],WaveLab_df['Active_Power_Portside_W'])
plt.gcf().autofmt_xdate()

plt.subplot(212)
plt.plot(df_tempS['DateTime'],df_tempS['Power[W]'])
plt.gca().xaxis.set_major_formatter(dates.DateFormatter('%H:%M:%S'))
plt.gca().xaxis.set_major_locator(dates.MinuteLocator())
plt.gcf().autofmt_xdate()