2015-04-08 57 views
2

對於任何一個大熊貓數據框,說熊貓數據幀傳遞參數密謀

df 

我可以用

df.plot() 

但對大熊貓網站策劃陰謀的相關信息:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.plot.html,我要找一種減少圖例大小的方法;它太大了。我將如何能夠做到這一點?

我是否使用kwds參數?

的繪圖網站上面,我可以通過以下方式使用kwds狀態:

「kwds:關鍵字 選項傳遞給matplotlib繪製方法」

如何使用是什麼呢?我使用字典嗎?我怎樣才能讓這個這個選項指的是傳說,即像

plt.legend(['foo'],prop={'size':13}) 

圖例的字體大小,這使得它更小。

回答

1

DataFrame.plot()返回Axes對象,你可以調用ax.legend()到modifiy設置:

ax = df.plot() 
ax.legend(prop={'size':10}) 
+0

我與alvarezcl有同樣的問題,但不幸的是你的回答並沒有真正回答它。你如何使用kwds參數從pandas.DataFrame.plot到matplotlib.pyplot.plot傳遞一個繪圖設置(比如alpha級別的點)?熊貓文檔表明你可以使用kwds關鍵字來做到這一點,但我知道如何。 – dreme

+0

同意,這個回答不回答這個問題,儘管它被接受。我仍然在尋找在熊貓圖中傳遞關鍵字的語法,但是沒有一個例子顯示如何去做。 – marillion

0

你沒有做什麼特別的傳遞**kwds(見本SO question瞭解**符號更好)。

所有不是DataFrame.plot方法的位置參數的參數都會自動傳遞給pyplot.plt方法。

注意:kwds代表關鍵字參數,所以您必須使用arg_name = arg_value

您可能已經在不知道的情況下使用了它,例如在df.plot(alpha=0.5)中:alpha不是DataFrame.plot的位置參數,因此它被傳遞給pyplot.plt

嘗試時可以看到它aalpha:錯誤堆棧指向matplotlib,而不是pandas。

-

注:label參數不上班的。

pandas code中,您可以看到圖例標籤是從列名自動生成的,除非明確傳遞參數y。這很有意義,因爲y只能是單列,其中DataFrame.plot允許您一次繪製所有列。但是label不接受值列表,因此無法知道要更新哪個標籤。

這意味着你有三個選項。要麼傳遞一個列名稱爲y:在這種情況下,label將按預期工作。或者之後更新圖例(請參閱legend guide以供參考)。或者將單列DataFrame用作系列。

-

編輯對原來的問題:在**kwds參數傳遞給pyplot.plt,有沒有直接的聯繫傳說。因此無法使用DataFrame.plot來更新圖例屬性。