Pythonのきれいなグラフとチャート[終了]


130

Pythonアプリケーションできれいなチャートやグラフを作成するために利用できるライブラリは何ですか?


22
なぜこれが閉鎖されたのか分かりません。炎の戦争や意見を誘うものではなく、明確な答えがいくつかあります。Pythonプロットライブラリはほんの一握りしかありません。
Alex B

7
なぜこれが閉じているのですか?これは便利な質問です。とにかく、私の推薦はpip search plot何が出てくるかを見て、それを見ることです。これを行うことでpygalを発見し、pygalは見栄えがしました。
Mark E. Haase

また、この質問は「charting python」のグーグル検索の上部に表示されることに注意してください-もう一度開くのに十分な理由です。
ジョージルンド

この質問は役に立ちます。閉じないでください。その他のオプションには、ボケPyXが
atomh33ls

回答:


50

CairoPlotをサポートしているのは私です。ここに登場したことを非常に誇りに思っています。確かにmatplotlibは素晴らしいですが、CairoPlotの方が見栄えが良いと思います。したがって、プレゼンテーションやWebサイトの場合、これは非常に良い選択です。

本日、バージョン1.1をリリースしました。興味があれば、CairoPlot v1.1でチェックしてください。

編集:長く寒い冬の後、CairoPlotは再び開発されています。GitHubで新しいバージョンを確認してください。


2
よさそうだ、やってみたい。Python 2.6用のWindowsインストーラーを作成する計画はありますか?
monkut 2008年

私はそれに同意するので、サポートには問題ありません。お世辞に感謝:D
ロドリゴ

必要に応じて、反対投票できるように、stackoverflow.com / questions / 359727 520049を追加しました。
VonC、2009

1
Cairoplotは、大量のデータに対してはあまりうまく機能しません(間違っている場合は修正してください)。軸にラベルを追加して、hlabelsまたはvlabelsを要約することはできません。とにかく、グラフに複数の線をプロットしたり、使用する色を制御したりすることができません。私はスクリプトをハックすることができます... matplotlibに移動しています...
Jon

誰もがジョンのコメントを無視する必要があります。軸にラベルを付け、使用する色を定義するのは非常に簡単です。とにかく、素晴らしいlibをありがとう。
Daniel Magnusson、

38

インタラクティブな作業では、Matplotlibは成熟した標準です。OOスタイルのAPIとMatlabスタイルのインタラクティブAPIを提供します。

Chacoは、Enthoughtの人々が開発した、より近代的な作図ライブラリーです。EnthoughtのKivaベクトル描画ライブラリを使用し、現在はOpenGLを使用するWxおよびQtでのみ機能します(Matplotlibには、Tk、Qt、Wx、Cocoa、およびPDF、EPS、PNGなどの多くの画像タイプのバックエンドがあります)。Chacoの主な利点は、Matplotlibに比べて速度が速いことと、対話型アプリケーション向けのEnthoughtのTraits APIとの統合です。


2
すべてのAPIの中で、matplotlibは確かに最も成熟していて機能が豊富であるように思われます(また、引き続きサポートされ、さらに開発されています)。その「ギャラリー」に移動して、さまざまな例を(ソースコードに従って)確認してください:matplotlib.sourceforge.net/gallery.html。ただし、そのAPIは複雑だと思います-メソッド名が私を狂わせています:)「複雑な」簡単な例について話すと、このブログ投稿はmatplotlibを始めるのに大いに役立ちました:shreevatsa.wordpress .com / 2010/03/07 / matplotlib-tutorial
Timur

申し訳ありませんが、私はまた追加する必要があります。そのmatplotlibは対話型であるだけでなく、実際にプロット/グラフをファイルに保存できます。例のために。PNG、PDFまたはSVG。
ティムール

18

Google Chart APIを使用するpygooglechartを使用することもできます。これは常に使用したいものではありませんが、少数の優れたシンプルなグラフが必要で、常にオンラインになっている場合、特にブラウザに表示している場合は、これが適しています。


7
警告として、Googleで作成できるグラフのサイズはかなり制限されています(幅*高さ<= 300,000ピクセル)。また、(Python APIではなく)Googleチャートは、適度なサイズのデータ​​セットでも詰まります。そうでなければ、彼らは素晴らしいです。
Pat Notz

1
Googleイメージグラフは引き続き使用できますが、サポートが終了しています。詳細については、developers.google.com
chart / image /?hl

15

必要な出力形式については言及していませんが、reportlabは、pdf形式とビットマップ(pngなど)形式の両方でグラフを作成するのに適しています。

これは、pngおよびpdf形式の棒グラフの簡単な例です。

from reportlab.graphics.shapes import Drawing
from reportlab.graphics.charts.barcharts import VerticalBarChart

d = Drawing(300, 200)

chart = VerticalBarChart()
chart.width = 260
chart.height = 160
chart.x = 20
chart.y = 20
chart.data = [[1,2], [3,4]]
chart.categoryAxis.categoryNames = ['foo', 'bar']
chart.valueAxis.valueMin = 0

d.add(chart)
d.save(fnRoot='test', formats=['png', 'pdf'])

代替テキストhttp://i40.tinypic.com/2j677tl.jpg

注:画像は画像ホストによってjpgに変換されています。


2
「RenderPMError:Ca n't ca n't setFont(Times-Roman)missing the T1 files?」という例外が発生した場合 上記のコードのd.saveで(私が得たように)-解決策は、reportlabs / forntsディレクトリにあるreportlab.org/ftp/fonts/pfbfer.zip をダウンロードして抽出することです
Shekhar

実用的な例を生成するための+1。
vmassuchetto、2011

6

2
なぜそれが良いのですか?使ったことはありますか?
Nick、

はい、レポート/統計ツールでdot_line_plot()を使用しました。とても簡単です。MatplotlibとCairoPlotに関するRodrigoからのトップレスポンスを参照してください。私はMatplotlibも使用しています。実際、私は今それを使用しています。
elmarco 2009年

奇妙な人々はあなたの答えをキャッチしていませんが、現在トップ投票の答え。
pihentagy

最小限の例があれば、これはより多くの賛成票を獲得すると思います。リンクが切れると、答えは役に立たなくなります。
Martin Thoma

おかげで、ブログはすでに多くの情報を持っています。そして、著者自身は、ここで詳細を後で答えました。
elmarco 2013

6

私はpychartを使用し、それは非常に簡単であると思いました。

http://home.gna.org/pychart/

すべてネイティブpythonであり、依存関係のバスロードはありません。matplotlibは素晴らしいと確信していますが、何日もダウンロードしてインストールするので、1つのmeasley棒グラフが必要です!

数年で更新されていないようですが、動作します。




4

gnuplotを使用してプロットする場合は、Gnuplot.pyを検討する必要があります。gnuplotへのオブジェクト指向のインターフェースを提供し、コマンドを直接gnuplotに渡すこともできます。残念ながら、それはもはや積極的に開発されていません。




3

私はPyOFC2のファンです:http ://btbytes.github.com/pyofc2/

これは、非常に美しいOpen Flash Charts 2に必要なJSONデータを簡単に生成できるパッケージにすぎません。上記のリンクの例を確認してください。



0

また、グーグルチャートを検討することもできます。

厳密にはpython APIではありませんが、pythonから使用できます。コーディングはかなり高速で、結果は見栄えがよくなる傾向があります。オンラインでプロットを使用している場合、これはさらに優れたソリューションになります。


0

PLplotは、科学的プロットを作成するためのクロスプラットフォームソフトウェアパッケージです。彼らは非常にきれい(目を引く)ではありませんが、十分によく見えます。見ていいくつかの例(ソースコードと写真の両方を)。

PLplotコアライブラリを使用して、標準のxyプロット、片対数プロット、対数ログプロット、等高線プロット、3D表面プロット、メッシュプロット、棒グラフ、円グラフを作成できます。Windows(2000、XPおよびVista)、Linux、Mac OS X、およびその他のUnicesで動作します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.