130

有哪些可用的库可用于在 Python 应用程序中创建漂亮的图表和图形?

4

15 回答 15

50

我是支持 CairoPlot 的人,我很自豪它出现在这里。当然 matplotlib 很棒,但我相信 CairoPlot 更好看。因此,对于演示文稿和网站来说,这是一个非常不错的选择。

今天我发布了1.1版本。如果有兴趣,请查看CairoPlot v1.1

编辑:经过漫长而寒冷的冬天,CairoPlot 正在重新开发。在GitHub 上查看新版本。

于 2008-09-16T21:43:33.117 回答
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 的集成以用于交互式应用程序。

于 2008-09-16T23:51:24.603 回答
18

您还可以使用pygooglechart,它使用Google Chart API。这不是您一直想要使用的东西,但是如果您想要少量好的、简单的图表,并且始终在线,尤其是如果您无论如何都在浏览器中显示,那么它是一个不错的选择。

于 2008-09-10T05:22:58.767 回答
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。

于 2009-05-29T13:42:20.177 回答
6

开罗图

于 2008-09-09T20:05:13.567 回答
6

我使用了pychart,认为它非常简单。

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

它都是原生的 python,没有大量的依赖。我确定 matplotlib 很可爱,但我会下载和安装好几天,我只想要一个 measley 条形图!

它似乎在几年内没有更新,但嘿,它有效!

于 2009-07-03T14:40:17.293 回答
4

如果您喜欢使用gnuplot进行绘图,您应该考虑Gnuplot.py。它为 gnuplot 提供了一个面向对象的接口,还允许您将命令直接传递给 gnuplot。不幸的是,它不再被积极开发。

于 2008-11-04T09:43:10.483 回答
4

你看过ChartDirector for Python吗?

我不能谈论这个,但我使用 ChartDirector for PHP,它非常好。

于 2008-09-09T19:13:55.827 回答
4

NodeBox非常适合创建原始图形。

于 2008-09-09T19:13:56.530 回答
3

来自enthought的Chaco是另一种选择

于 2008-09-09T22:11:56.447 回答
3

您还应该考虑 PyCha http://www.lorenzogil.com/projects/pycha/

于 2008-10-16T22:10:34.083 回答
3

我是 PyOFC2 的粉丝:http: //btbytes.github.com/pyofc2/

它只是一个包,可以轻松生成 Open Flash Charts 2 所需的 JSON 数据,非常漂亮。查看上面链接中的示例。

于 2009-04-26T06:34:38.303 回答
1

请查看 WHIFF 的 Open Flash Chart 嵌入 http://aaron.oirt.rutgers.edu/myapp/docs/W1100_1600.openFlashCharts 和 WHIFF 的 amCharts 嵌入http://aaron.oirt.rutgers.edu/myapp/ amcharts/文档。谢谢。

于 2009-10-02T19:05:45.337 回答
0

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.

于 2009-01-22T16:34:04.447 回答
0

你也可以考虑谷歌图表

从技术上讲,它不是一个 python API,但你可以从 python 中使用它,它的编码速度相当快,而且结果看起来不错。如果您碰巧在线使用您的地块,那么这将是一个更好的解决方案。

于 2008-09-10T05:49:11.403 回答