3 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果您更喜歡非面向?qū)ο蟮姆椒?,?qǐng)?jiān)趦纱蝍vail_plot調(diào)用之前將plt.xticks(rotation = 70)移到右側(cè),例如
plt.xticks(rotation=70)
avail_plot(axs[0], dates, s1, 'testing', 'green')
avail_plot(axs[1], dates, s1, 'testing2', 'red')
這會(huì)在設(shè)置標(biāo)簽之前設(shè)置rotation屬性。由于這里有兩個(gè)軸,因此在制作完兩個(gè)圖之后,plt.xticks會(huì)變得混亂。而此時(shí)plt.xticks不會(huì)做任何事情的地步,plt.gca()并沒(méi)有給你作用于當(dāng)前坐標(biāo)要修改的軸,所以plt.xticks,是行不通的。
對(duì)于不使用plt.xticks的面向?qū)ο蠓椒?,您可以使?/p>
plt.setp( axs[1].xaxis.get_majorticklabels(), rotation=70 )
在兩次avail_plot調(diào)用之后。這樣就可以在正確的軸上設(shè)置旋轉(zhuǎn)。

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
解決方案適用于matplotlib 2.1+
存在tick_params可以改變刻度屬性的軸方法。它也作為軸方法存在set_tick_params
ax.tick_params(axis='x', rotation=45)
要么
ax.xaxis.set_tick_params(rotation=45)
作為旁注,當(dāng)前的解決方案通過(guò)使用命令將狀態(tài)接口(使用pyplot)與面向?qū)ο蟮慕涌诨旌蟨lt.xticks(rotation=70)。由于問(wèn)題中的代碼使用面向?qū)ο蟮姆椒?,因此最好始終堅(jiān)持使用該方法。該解決方案確實(shí)提供了一個(gè)很好的顯式解決方plt.setp( axs[1].xaxis.get_majorticklabels(), rotation=70 )
添加回答
舉報(bào)