漂亮的图形和图表在Python中

时间:2008-09-09 19:11:46

标签: python graphics

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

15 个答案:

答案 0 :(得分:50)

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

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

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

答案 1 :(得分:38)

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

Chaco是来自Enthought的人们更现代的绘图库。它使用Enthought的Kiva矢量绘图库,目前仅适用于Wx和Qt与OpenGL(Matplotlib有Tk,Qt,Wx,Cocoa的后端,以及许多图像类型,如PDF,EPS,PNG等)。 Chaco的主要优势在于其相对于Matplotlib的速度以及与交互式应用程序的Enthought's Traits API的集成。

答案 2 :(得分:18)

您还可以使用pygooglechart,它使用Google Chart API。这不是你一直想要使用的东西,但如果你想要一些好的,简单的图表,并且总是在线,特别是如果你在浏览器中显示,那么它是一个不错的选择。 / p>

答案 3 :(得分: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'])

alt text http://i40.tinypic.com/2j677tl.jpg

注意:图像已由图像主机转换为jpg。

答案 4 :(得分:6)

答案 5 :(得分:6)

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

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

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

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

答案 6 :(得分:4)

你有没有看过ChartDirector for Python

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

答案 7 :(得分:4)

NodeBox对于原始图形创建非常棒。

答案 8 :(得分:4)

如果您想使用gnuplot进行投标,则应考虑Gnuplot.py。它为gnuplot提供了面向对象的接口,还允许您将命令直接传递给gnuplot。不幸的是,它已不再被积极开发。

答案 9 :(得分:3)

来自Chaco

enthought是另一种选择

答案 10 :(得分:3)

答案 11 :(得分:3)

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

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

答案 12 :(得分:1)

请查看WHIFF的Open Flash Chart嵌入 http://aaron.oirt.rutgers.edu/myapp/docs/W1100_1600.openFlashCharts 以及为WHIFF嵌入的amCharts http://aaron.oirt.rutgers.edu/myapp/amcharts/doc。感谢。

答案 13 :(得分:0)

您还可以考虑google charts

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

答案 14 :(得分:0)

PLplot是一个用于创建科学图的跨平台软件包。它们不是很漂亮(引人注目),但它们看起来不错。看看some examples(源代码和图片)。

PLplot核心库可用于创建标准x-y图,半对数图,对数图,等高线图,3D曲面图,网格图,条形图和饼图。它运行在Windows(2000,XP和Vista),Linux,Mac OS X和其他Unices上。