Python中漂亮的图形和图表
有哪些可用的库可在Python应用程序中创建漂亮的图表和图形?
解决方案
回答
我们是否研究过适用于Python的ChartDirector?
我不能谈论这一点,但是我已经将ChartDirector用于PHP,这非常好。
回答
NodeBox非常适合创建原始图形。
回答
开罗图
回答
热情的Chaco是另一种选择
回答
我们还可以使用pygooglechart,后者使用Google Chart API。这不是我们始终想要使用的东西,但是如果我们想要少量的简单,良好的图表并且始终在线,尤其是如果无论如何仍在浏览器中显示,则这是一个不错的选择。
回答
我们也可以考虑使用Google图表。
从技术上讲,这不是python API,但是我们可以从python中使用它,它的编码速度相当快,并且结果看起来不错。如果我们碰巧正在在线使用地块,那么这将是一个更好的解决方案。
回答
我是支持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的集成。
回答
我们还应该考虑PyCha
http://www.lorenzogil.com/projects/pycha/
回答
如果我们想使用gnuplot进行绘图,则应考虑使用Gnuplot.py。它为gnuplot提供了一个面向对象的界面,还允许我们将命令直接传递给gnuplot。不幸的是,它不再被积极开发。
回答
PLplot是用于创建科学图的跨平台软件包。它们不是很漂亮(引人注目),但看起来足够好。看一些示例(源代码和图片)。
PLplot核心库可用于创建标准的x-y图,半对数图,对数对数图,轮廓图,3D表面图,网格图,条形图和饼图。它可以在Windows(2000,XP和Vista),Linux,Mac OS X和其他Unices上运行。
回答
我是PyOFC2的粉丝:http://btbytes.github.com/pyofc2/
它只是一个软件包,可轻松生成非常漂亮的Open Flash Charts 2所需的JSON数据。在上面的链接上查看示例。
回答
我们没有提到所需的输出格式,但是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,并认为它非常简单。
http://home.gna.org/pychart/
它全部是本机python,没有大量的依赖项。我敢肯定matplotlib很可爱,但是我要下载和安装几天,我只想要一张measley条形图!
它似乎几年没有更新,但是嘿,它起作用了!
回答
请查看WHIFF的Open Flash Chart嵌入
http://aaron.theitroadt.rutgers.edu/myapp/docs/W1100_1600.openFlashCharts
以及嵌入WHIFF的amCharts也http://aaron.theitroadt.rutgers.edu/myapp/amcharts/doc。谢谢。