使用Python创建图表和图形

13

我正在寻找一个Python库/模块,可以让我创建引人注目的图表。该模块必须具有/支持以下功能:

  • Windows支持

    由于我主要在Windows上工作(使用Eclipse在Windows),这非常重要,需要一个简单的安装.exe文件(或适当的安装说明)。

  • 能够在Python 2.7上运行

    我已经安装了Python 2.7.2,不想去安装其他版本。

  • 不需要与网络连接

    我看了看googlepychart,貌似需要连接网络才能使用,而我所处的环境背后有一个非常严格的防火墙。

  • 输出应该在HTML浏览器中可见

    虽然我不能上网,但我可以访问localhost,如果图表可以在浏览器中查看,那就太好了。

  • 至少需要良好的文档说明,或者一些关于如何使用库的示例。

如果有关于如何使用Python创建Web应用程序并显示/绘制传入数据的建议,将不胜感激。


你试过PyQtGraph吗? - iMath
4个回答

20

Plotly 可以让你使用他们的在线Python沙箱来制作图表。在他们的画廊中有一些科学图表的例子,其中包含了生成这些图表的Python脚本:https://plotly.com/python/。以下是来自画廊的一个示例:

enter image description here


当前工作链接为https://plot.ly/python/,因为更改的字符少于6个,SO不允许我编辑答案。 - reducing activity

12

Matplotlib已经成为一款成熟且广泛使用的绘图包。

至于与Web浏览器的交互,您可能需要结合使用另一个包。我建议使用CherryPy,因为它很简单。


5
如果您可以不使用浏览器,可以使用其中一个Python绘图库。如果您坚持使用浏览器,则最好使用基于JavaScript的库进行查看。我以前使用过web2py Web框架和Protovis。但是,像Bottle或CherryPy这样的更简单的Web框架也可以用于将数据传递到视图中。Bottle有一个简单模板引擎(与我在Web2py中使用的非常相似)。
使用两种语言(其中之一是JavaScript)进行开发有点痛苦。您可以使用类似于Pyjamas的工具将Python转换为JavaScript,但我不确定这是否会很好地解决问题,而且我没有使用过它。

+1 对于 Protovis,它看起来很棒(尽管显然已经被取代)。 - MattH
实际上:protovis不再继续开发,已被http://mbostock.github.com/d3/所取代。 - beldaz

3
你可能想详细说明你想制作的图表类型。使用sage可以轻松创建简单的图表,与matlab相比有很多选项。如果你想要更多像PowerPoint图表或图片插入到Word文档中的内容,那就有些不同了。
如果你能找到一些创建图表图像的工具,那么你可以将其连接到Python Web框架,如Django或Pylons。这将允许你设置一个回环服务器,在你的计算机上托管页面并在你的计算机上查看它。但这会更加复杂。
我的建议是将你的程序分解成几个部分。就像用乐高积木搭建房子一样。你知道你想让它看起来像什么,但细节决定了一切。将它分解成最小的部分,并将较大的部分定义为更小的部分的组合
房子只是几个房间。一个房间只有四堵墙、一块地板和一个天花板。一堵墙只是几块木板,而一块木板是2x4的。一旦你把所有的零件都拆开了,你就不仅知道需要做什么,还知道每个部件需要找到什么。
你已经开始列出了要求清单,这定义了你想让你的程序做什么。现在你需要倒推来定义不同的部分。不要纠结于它们如何工作,而是定义它们如何协同工作。
对于一个简单的Python脚本来创建Web服务器:请参见此处。注意动态内容部分。通过将其插入到生成图表的“黑盒子”中,您突然拥有了一个简单的工作设置。图表部分不关心用户如何获取它们,它只制作图表并传递出去。服务器不关心图表是如何制作的,它只提供服务。 本Sage手册的此部分有关于在创建后保存绘图的说明。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接