使用python的svg图

时间:2009-03-11 15:07:39

标签: python svg diagram

我正在寻找一个库来生成python中的svg图表(我从sql数据库中获取数据)。我找到python-gd,但它没有太多文档,最后更新是在2005年,所以我想知道是否有任何其他库有利于此目的。

我主要考虑的是简单的折线图,例如thisexample line graph

11 个答案:

答案 0 :(得分:10)

尝试使用matplotlib。您可以使用SVG backend配置它。

答案 1 :(得分:10)

由于您正在寻找简单的线条图形,CairoPlot可能符合您的需求,因为它可以生成开箱即用的svg输出文件。看看this

CairoPlot - DotLinePlot

此示例图像仅显示其一些功能。使用launchpad处提供的主干版本,您将能够添加图例框并添加轴标题。

除此之外,使用trunk版本,可以生成:

  • DotLine图表(我相信你需要的图表)
  • 散点图
  • Pie / Donut图表
  • 水平/垂直条形图
  • 甘特图

答案 2 :(得分:9)

PyChart “是一个用于创建高质量Encapsulated Postscript,PDF,PNG或 SVG 图表的Python库。”

答案 3 :(得分:9)

pyCairo值得一看。

答案 4 :(得分:7)

这是Python中的通用SVG库:pySVG

答案 5 :(得分:6)

您可以使用Graphviz生成SVG格式的图表。 Graphviz有Python绑定,例如,pydot - Graphviz的Dot语言的Python接口。

答案 6 :(得分:3)

svgfig值得一看:

http://code.google.com/p/svgfig/

答案 7 :(得分:3)

答案 8 :(得分:0)

与SVG情节没有完全相关,但搜索同样的事情,我找到了一个很好的来源,精心收集了有用的信息来回答你的问题: http://wiki.python.org/moin/NumericAndScientific/Plotting

答案 9 :(得分:0)

我试图整理可用的图表库列表(这是一项正在进行的工作,其中我不断更新列表):http://blizzardzblogs.blogspot.com/2010/12/data-visualization-charts-and.html

我觉得protovis会为你做这个工作。它的

  • 重量轻,
  • 生成svg(可以轻松导出)和
  • 是javascript

所以无需学习:)

答案 10 :(得分:0)

2018更新:

绘图(https://github.com/plotly/plotly.py / https://plot.ly/d3-js-for-python-and-pandas-charts/)可能是最通用的解决方案。它具有MIT许可证(可免费使用和重复使用),尽管它包括可能与某些CMS不兼容的功能,但由于它依赖于JS,因此它具有一些限制性更高的安全性问题,尽管也提供了将图导出为纯SVG的选项。

Pygal(https://github.com/Kozea/pygal / http://pygal.org)更简单,仅依赖svg标准。因此,它的结果在更严格的CMS系统下更可重用。它是在GNU许可下分发的。