2009-11-02 8 views
11

私は定期的にRの探索図形(探索的データ解析型)を作成します。私はPythonでプログラミングし、matplotlibに学習価値のある機能や概念があるのか​​疑問に思っていました。例えば、私はRには満足していますが、image()関数はピクセル化された出力を持つ大きなファイルを生成しますが、Matlabの等価フィギュア(Matlabでは定期的にプログラムしています)はファイルサイズやスムーズに扱えます。 matplotlibもそのような削減を提供しています...?しかし、より一般的には、私はmatplotlibが与える他の利点が何であるか疑問に思います。私はこれがトローリングの質問であることを意味しません。ありがとう。Rユーザーのためのmatplotlib?

+1

この類似の質問をご覧ください:http://stackoverflow.com/questions/1177019/what-c​​an-be-done-in-r-that-c​​ant-be-done-with-python-numpy-scipy – dalloliogm

+1

これは古い質問ですが、新しい訪問者には:[ggplot2](http://ggplot2.org/)を使用してください。急な学習曲線がありますが、[偉大なドキュメント](http://docs.ggplot2.org/current/)では、デフォルトでmatplotlibよりも優れたプロットが生成されています。 – naught101

答えて

11

これは難しい答えです。

私は最近グラフワークロードのいくつかをRからmatplotlibに切り替えました。私の謙虚な意見では、私はmatplotlibのグラフがよりきれいであることを知っています(デフォルトの色がより鮮明で現代的です)。私はまた、matplotlibがPNGをずっと上手くレンダリングすると思う。

しかし私の本当の動機は、Pythonで(そしてnumpy)Rではなく私の根底にあるデータで作業したかったということでした。これは大きな質問です。どの言語でロードしたいのですか?あなたのデータを解析し、操作しますか?

一方、Rのボーナスは、プロットのデフォルトがうまく機能することです(すべての機能があります)。私は自分自身が頻繁にmatplotlibドキュメント(彼らは厚いです)を掘って、境界線を調整するか、線の太さを増やすためのあいまいな方法を探しています。 Rのプロットルーチンは、それらの背後にある程度成熟しています。

+0

あなたの考えをお寄せいただきありがとうございます...私はMatlabでもプロットしていますので、簡単な遷移かもしれないと思っていましたが、私はR(特にグリッドグラフィックス)で想像することができるほとんどのグラフィックを作成できます。 matplotlib - 私はすべてのパッケージで学ぶカスタマイズの詳細があることを忘れています。それは現時点で望ましくない時間のシンクになるでしょう... – hatmatrix

3

私は、matplotlibがPythonをベースにしていることを最大の利点と考えています。だから、これは学ぶことが少ない1つの言語です。 Pythonをマスターするだけの時間を費やすだけで、手近なプロット作業にも、Pythonの他のニーズにも間接的にもメリットがあります。

さらに、IMHO PythonはRよりも全体的に豊富な言語であり、さまざまなタスクに役立つライブラリがはるかに多くあります。プロットのためにデータにアクセスしなければならず、データはさまざまな形で提供されます。どんな形式であれ、Pythonには効率的なライブラリがあると確信しています。

さらに、これらのプロットをより完全なプログラム、たとえば単純なGUIに組み込む方法について教えてください。 matplotlibはPythonのGUIライブラリ(PyQTのような)と簡単に結びつき、想像力の限界にすぎないものを作ることができます。

+0

あなたの考えに感謝します - PythonがRよりも豊富であるにもかかわらず、私は多くの点でR :その組み込みリストは、順序付けられた辞書、ローカル計算のための一時的な環境(名前空間)、強力な無名関数を作成することもできます... GUIの作成はPythonの '+'です - 私はMatlabで生成されたプロット+ PILを使うこともありますが、私はRでインタラクティブな分析のための簡単なGUIを作っています。 – hatmatrix

+1

PythonからRを呼び出すとよいでしょう。 RPyを使うことができますが、通常はRコードをファイルに書き込んだ後、バッチモードでプロセスとしてRを実行し、結果をディスクに保存してから、後でPythonからピックアップします。よく働く。 – telliott99

関連する問題