2009-11-02 42 views
11

我經常在R中做數字(探索性數據分析類型)。我也在Python中編程,想知道在matplotlib中是否有特性或概念值得學習。例如,我對R非常滿意 - 但它的image()函數會產生帶有像素化輸出的大文件,而Matlab的等效圖(我也可以在Matlab中定期編程)似乎可以在文件大小上進行管理,並且「平滑」 matplotlib也提供這樣的減少...?但更普遍的是,我想知道matplotlib可能賦予的其他優點。我不是說這是一個棘手的問題。謝謝。matplotlib for R user?

+1

看看這個類似的問題:http://stackoverflow.com/questions/1177019/what-c​​an-be-done-in-r-that-c​​ant-be-done-with-python-numpy-scipy – dalloliogm 2009-11-02 15:45:29

+1

我意識到這是一個老問題,但對於新訪客:只需使用[ggplot2](http://ggplot2.org/)。它有一個陡峭的學習曲線,但[偉大的文檔](http://docs.ggplot2.org/current/),默認情況下產生比matplotlib更好的圖表。 – naught101 2013-10-16 02:04:19

回答

11

這是一個難以回答的問題。

我最近將一些繪圖工作量從R切換到matplotlib。在我看來,我發現matplotlib的圖形更漂亮(更好的默認顏色,它們看起來更清晰,更現代)。我也認爲matplotlib使PNG變得更好。

雖然我的真正動機是我想在Python(和numpy)中使用我的底層數據,而不是R。我認爲這是一個很大的問題,需要加載哪種語言,解析和操縱你的數據?

另一方面,R的獎勵是繪圖默認值正常工作(對所有東西都有一個函數)。我發現自己經常通過matplotlib文檔挖掘(它們很厚),尋找一些不太明確的方式來調整邊界或增加線條粗細。 R的繪圖程序有一些成熟的背後。

+0

感謝您的想法......我也在Matlab中進行繪圖,所以我認爲這可能是一個簡單的過渡,但是我可以創建大多數可以在R中想象的圖形(尤其是與網格圖形),所以我想我會延期matplotlib - 我忘記了在每個軟件包中定製化的細節,並且此刻將會是一個不必要的時間陷阱... – hatmatrix 2009-11-03 12:39:31

3

我認爲最大的優點是matplotlib基於Python,你說你已經知道了。所以,這是一門少用於學習的語言。只需花時間掌握Python,您就可以直接獲得手頭的繪圖任務,也可以間接滿足其他Python需求。

此外,恕我直言Python是比R更豐富的語言,有更多的庫可以幫助完成各種任務。您必須訪問繪圖數據,數據以多種形式出現。無論如何,我相信Python有一個高效的庫。

如何將這些圖嵌入到更完整的程序中,如簡單的GUI? matplotlib可以很容易地與Python的GUI庫(如PyQT)綁定,你可以製作出只有你的想象力才能被限制的東西。

+0

感謝您的想法 - 儘管Python比R更豐富,但我在許多方面更加適應R :它的內置列表也可以是一個有序的字典,爲本地計算快速創建臨時環境(命名空間),強大的匿名函數... GUI創建對Python來說是一個'+' - 我使用它與Matlab生成的圖+ PIL有時候,但我也在R中製作簡單的GUI來進行交互式分析。 – hatmatrix 2009-11-03 12:44:35

+1

您可以嘗試從Python調用R。你可以使用RPy,但我通常做的是將R代碼寫入一個文件,然後以批處理模式運行R進程,將結果保存到磁盤,然後從Python中選擇它。很棒。 – telliott99 2010-11-14 20:30:23