我有多個資料框架,我為每個資料框架繪制性能指標。 每個資料框架看起來像(每個df中的列數是不同的):
index,jack,steve,bob,sandra,helen,tracy
1,300,100, 110, 500,120,100.
2,30,20, 150, 200,10,120.
3,320,110。 190,50,12,130.
4,300,100, 110, 500,120,100.
5,400,120。 100,450,100,90。
我想在同一個圖的獨立子圖上繪制每一列,并將其保存在png檔案中。
我找不到如何改變圖例的字體大小(在給定的例子中學生的名字),當我使用下面的片段與plt.legend時,只有最后的圖例大小被更新,而不是子圖中的每一個圖例。
def plot_subplot(df, group)。
ax = df.plot(subplots=True, fontsize=20, figsize=(80,40)
plt.legend(loc='best', prop={'size': 30})
ax[0].get_figure().savefig("{}.png". format(group), bbox_inches='tight', dpi=100)
由于每個資料框架中的列數不同,我事先不知道該函式將為一個給定的繪圖產生多少個子圖。我正在使用subplots=True引數,而不是通過ax1、ax2等手動定義每個子圖的位置。這就是為什么我在尋找一個與此用例兼容的解決方案。

uj5u.com熱心網友回復:
問題是,df.plot目前回傳一個list的Axes(由于subplots=True),所以你應該遍歷ax:
def plot_subplot(df, group)。
ax = df.plot(subplots=True, fontsize=20, figsize=(80, 40)
# 迭代所有的軸。
for a in ax:
a.legend(loc='best', prop={'size': 30})
ax[0].get_figure().savefig('{}.png'. format(group), bbox_inches='tight', dpi=100)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/332407.html
標籤:

