我在一個圖上有兩個子圖。我在x軸上繪製時間(00:12:32),我想旋轉兩個子圖的xticks,但是當我使用下面的代碼時,只有一個子圖滴答被旋轉。旋轉子區域xaxis位置
plt.xticks(rotation=90)
下面是完整的代碼:
#print(start_event_arr)
fig = plt.figure(figsize=(20.0, 20.0))
fig1 = plt.figure(figsize=(20.0, 20.0))
ax = fig.add_subplot(2,1,2)
ax1 = fig1.add_subplot(2,1,1,sharex=ax)
plt.setp(ax.get_xticklabels(), fontsize=6)
dates = [dateutil.parser.parse(s) for s in start_event_arr]
y = event_volume_sums
#plt.xticks(rotation=90)
ax.set_xticks(dates)
ax.plot(dates, cumulative_vol_arr)
ax.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))
ax.xaxis.set_major_locator(mdates.MinuteLocator(interval=30))
ax.tick_params(axis='x', which='major', labelsize=10)
plt.xticks(rotation=90)
cm = plt.cm.get_cmap('jet')
ax1.scatter(dates,y,s=event_duration_secs*500, c=event_duration_secs,cmap=cm,linewidth=0,alpha=1.0)
ax1.grid()
#plt.setp(ax1.get_xticklabels(), visible=False)
plt.show()
我懷疑的問題是如何定義的次要情節,但我不知道如何解決它。說ax.xticks()不可能。 謝謝。
之內的所有次要情節的旋轉,我會很好,如果你能提供的樣本數據與您的代碼玩。 'plt.xticks'引用'plt.gca()'(** g ** et ** c ** urrent ** a ** xis;最近創建的軸)來改變那裏的xticks。我想你也必須將旋轉應用到其他軸對象。共享一個軸並不意味着一切都是共享的。可視化表示可以獨立配置。 – mhoff
即使我不能運行你的代碼,形成我所看到的,你在每一箇中都有兩個圖形和兩個子圖軸。當你調用'plt.xticks'時,它只會將更改應用於活動軸。要使任何其他軸處於活動狀態,可以調用'plt.sca(ax)'或'plt.sca(ax1)',具體取決於要更改哪個軸。 – hashmuke