漂亮的graphics和图表在Python

什么是在Python应用程序中创build漂亮的图表和graphics的可用库?

我是支持开罗地块的人,我很自豪地来到这里。 当然matplotlib是伟大的,但我相信CairoPlot更好看。 所以,对于演示和网站,这是一个非常好的select。

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

编辑:经过一个漫长而寒冷的冬天,开罗地块正在重新开发。 看看GitHub上的新版本。

对于交互式工作, Matplotlib是成熟的标准。 它提供了一个OO风格的API以及一个Matlab风格的交互式API。

Chaco是Enthought中的一个更现代化的策划图书馆。 它使用Enthought的Kivavector绘图库,并且目前只能在使用OpenGL的Wx和Qt上工作(Matplotlib拥有Tk,Qt,Wx,Cocoa和许多图像types(如PDF,EPS,PNG等)的后端)。 Chaco的主要优势在于其相对于Matplotlib的速度以及与交互式应用的Enthought's Traits API的整合。

您也可以使用使用Google Chart API的 pygooglechart 。 这不是你总想使用的东西,但是如果你想要less量的好的,简单的图表,并且总是在线的,特别是如果你在浏览器中显示的话,这是一个不错的select。

你没有提到你需要什么输出格式,但是reportlab擅长以pdf和位图(例如png)格式创build图表。

这是一个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']) 

替代文字160wpb4.jpg

注意:图片已被图片主机转换为jpg。

CairoPlot

我用pychart,认为这是非常简单的。

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

这都是原生python,并没有一个总线的依赖关系。 我确信matplotlib是可爱的,但我会下载和安装几天,我只想要一个measley条形图!

它似乎没有在几年内更新,但嘿它的作品!

你有没有看过ChartDirector for Python ?

我不能说这个,但我已经使用ChartDirector的PHP,这是相当不错的。

NodeBox非常适合原始graphics的创build。

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

Chaco从enthought是另一种select

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

它只是一个包,可以很容易地生成Open Flash Charts 2所需的JSON数据,这些数据非常漂​​亮。 看看上面的链接的例子。

请查看WHIFF的Open Flash Chartembeddedhttp://aaron.oirt.rutgers.edu/myapp/docs/W1100_1600.openFlashCharts以及WHF的amChartsembeddedhttp://aaron.oirt.rutgers.edu/myapp/ amcharts / doc 。 谢谢。

你也可以考虑谷歌图表 。

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

PLplot是一个用于创build科学地块的跨平台软件包。 他们不是很漂亮(醒目),但他们看起来不错。 看看一些例子 (源代码和图片)。

PLplot核心库可用于创build标准xy图,半对数图,对数图,等高线图,三维表面图,网格图,条形图和饼图。 它运行在Windows(2000,XP和Vista),Linux,Mac OS X和其他Unices上。