我正在寻找一个库来在 python 中生成 svg 图(我从 sql 数据库获取数据)。我已经发现 python-gd, ,但它没有太多文档,最后一次更新是在 2005 年,所以我想知道是否还有其他库适合此目的。

我主要考虑简单的线图,比如 : example line graph

有帮助吗?

解决方案

当您正在寻找简单的线条图形时,可能, 开罗情节 将满足您的需求,因为它可以生成开箱即用的 svg 输出文件。看一眼 .

CairoPlot - DotLinePlot

此示例图像仅显示了其部分功能。使用以下位置提供的主干版本: 发射台 您将能够添加图例框并添加轴标题。

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

  • 点线图(我相信你需要的)
  • 散点图
  • 饼图/圆环图
  • 水平/垂直条形图
  • 甘特图

其他提示

尝试使用 matplotlib 。您可以使用SVG 后端对其进行配置。

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

pyCairo 是一个值得关注的选项。

这是Python中的通用SVG库: pySVG

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

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

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

我觉得 protovis 可以帮你完成这项工作。它是

  • 轻的,
  • 生成 svg(可以轻松导出)并且
  • 是 JavaScript

所以没什么可学的了:)

2018年更新:

Plotly( https://github.com/plotly/plotly.py / < a href =“https://plot.ly/d3-js-for-python-and-pandas-charts/”rel =“nofollow noreferrer”> 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许可下发布的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top