2017-08-24 67 views
-1

我想用子圖功能和兩個不同的x軸(日期時間格式)繪製2個圖。xlabels只出現在兩個子圖之一中格式化

我做了下面的代碼:

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軸。

我嘗試了不同的組合,但我沒有成功。

有沒有人作爲一個想法?

謝謝!

回答

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() 
1

打開第二個子圖後,我會嘗試再次調用這一行。

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

這是一個更好的,現在我有我的第二個情節良好的格式(19:45:00; 19:50:00; 19:55:00)3值。 – Nathan

+0

好吧,最後我決定寫兩個ligne: 'plt.gca()。xaxis.set_major_formatter(dates.DateFormatter('%H:%M:%S'))' 'plt.gca()。xaxis .set_major_locator(dates.MinuteLocator())' 而我只有一個x軸,但時間在幾分鐘內,所以它是相當好的。 我不確認答案,以便有人可以回答他是否找到了好答案。 謝謝 – Nathan

+0

@Nathan但是,這不是「好」的答案?你還期望什麼? – ImportanceOfBeingErnest

相關問題