Python アプリケーションできれいなチャートやグラフを作成するために利用できるライブラリは何ですか?
15 に答える
私は CairoPlot を支持しており、ここに登場したことを非常に誇りに思っています。確かにmatplotlibは素晴らしいですが、CairoPlotの方が見栄えが良いと思います。そのため、プレゼンテーションや Web サイトには非常に適しています。
本日、バージョン1.1をリリースしました。興味がある場合は、CairoPlot v1.1で確認してください。
編集: 長くて寒い冬の後、CairoPlot が再び開発されています。GitHubで新しいバージョンをチェックしてください。
インタラクティブな作業の場合、Matplotlibは成熟した標準です。これは、OOスタイルのAPIとMatlabスタイルのインタラクティブAPIを提供します。
Chacoは、Enthoughtの人々によるより近代的なプロットライブラリです。EnthoughtのKivaベクトル描画ライブラリを使用し、現在、途中でOpenGLを使用してWxとQtでのみ動作します(Matplotlibには、Tk、Qt、Wx、Cocoa、およびPDF、EPS、PNGなどの多くの画像タイプのバックエンドがあります)。Chacoの主な利点は、Matplotlibと比較した速度と、インタラクティブアプリケーション用のEnthoughtのTraitsAPIとの統合です。
Google Chart APIを使用するpygooglechartを使用することもできます。これは常に使用したいものではありませんが、少数の優れたシンプルなグラフが必要で、常にオンラインである場合、特にブラウザで表示している場合は、良い選択です.
必要な出力形式については言及していませんが、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に変換されています。
私は pychart を使用しましたが、非常に簡単だと思いました。
それはすべてネイティブの python であり、依存関係のバスロードはありません。確かにmatplotlibは素敵ですが、何日もダウンロードしてインストールする必要があり、1つのメジャーリーバーチャートが欲しいだけです!
数年間更新されていないようですが、動作します!
プロットにgnuplotを使用したい場合は、 Gnuplot.pyを検討する必要があります。gnuplotへのオブジェクト指向インターフェースを提供し、コマンドをgnuplotに直接渡すこともできます。残念ながら、それはもはや積極的に開発されていません。
ChartDirector for Pythonを調べましたか?
これについて話すことはできませんが、私は ChartDirector for PHP を使用しており、非常に優れています。
NodeBoxは生のグラフィックスの作成に最適です。
私は PyOFC2 のファンです: http://btbytes.github.com/pyofc2/
非常に美しい Open Flash Charts 2 に必要な JSON データを簡単に生成できるようにする単なるパッケージです。上記のリンクの例を確認してください。
enthoughtのChacoも別のオプションです
PyCha http://www.lorenzogil.com/projects/pycha/も考慮する必要があり ます。
WHIFF の Open Flash Chart 埋め込み http://aaron.oirt.rutgers.edu/myapp/docs/W1100_1600.openFlashCharts と WHIFF の amCharts 埋め込みもご覧ください http://aaron.oirt.rutgers.edu/myapp/ amcharts/doc . ありがとう。
また、グーグルチャートを検討することもできます。
技術的にはPythonAPIではありませんが、Pythonから使用でき、コーディングがかなり高速で、結果は見栄えがする傾向があります。プロットをオンラインで使用している場合、これはさらに優れたソリューションになります。