有哪些可用的库可用于在 Python 应用程序中创建漂亮的图表和图形?
15 回答
我是支持 CairoPlot 的人,我很自豪它出现在这里。当然 matplotlib 很棒,但我相信 CairoPlot 更好看。因此,对于演示文稿和网站来说,这是一个非常不错的选择。
今天我发布了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 的 Traits API 的集成以用于交互式应用程序。
您还可以使用pygooglechart,它使用Google Chart API。这不是您一直想要使用的东西,但是如果您想要少量好的、简单的图表,并且始终在线,尤其是如果您无论如何都在浏览器中显示,那么它是一个不错的选择。
您没有提到您需要什么输出格式,但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 很可爱,但我会下载和安装好几天,我只想要一个 measley 条形图!
它似乎在几年内没有更新,但嘿,它有效!
如果您喜欢使用gnuplot进行绘图,您应该考虑Gnuplot.py。它为 gnuplot 提供了一个面向对象的接口,还允许您将命令直接传递给 gnuplot。不幸的是,它不再被积极开发。
我不能谈论这个,但我使用 ChartDirector for PHP,它非常好。
NodeBox非常适合创建原始图形。
来自enthought的Chaco是另一种选择
您还应该考虑 PyCha http://www.lorenzogil.com/projects/pycha/
我是 PyOFC2 的粉丝:http: //btbytes.github.com/pyofc2/
它只是一个包,可以轻松生成 Open Flash Charts 2 所需的 JSON 数据,非常漂亮。查看上面链接中的示例。
请查看 WHIFF 的 Open Flash Chart 嵌入 http://aaron.oirt.rutgers.edu/myapp/docs/W1100_1600.openFlashCharts 和 WHIFF 的 amCharts 嵌入http://aaron.oirt.rutgers.edu/myapp/ amcharts/文档。谢谢。
PLplot is a cross-platform software package for creating scientific plots. They aren't very pretty (eye catching), but they look good enough. Have a look at some examples (both source code and pictures).
The PLplot core library can be used to create standard x-y plots, semi-log plots, log-log plots, contour plots, 3D surface plots, mesh plots, bar charts and pie charts. It runs on Windows (2000, XP and Vista), Linux, Mac OS X, and other Unices.
你也可以考虑谷歌图表。
从技术上讲,它不是一个 python API,但你可以从 python 中使用它,它的编码速度相当快,而且结果看起来不错。如果您碰巧在线使用您的地块,那么这将是一个更好的解决方案。