Python中的科学绘图

8
我有一个包含(事件时间、纬度、经度)的大型元组数据集需要可视化。我希望生成一个类似于“电影”的xy-图,但想知道是否有更好的方法或者在Python中是否有简单的方法来实现这一点?
谢谢您的帮助, --Leo
7个回答

16

我原以为它只能生成静态图。有没有办法将一系列的图形制作成电影呢? - user100046
我不确定这是否足够接近您所寻找的内容,但<a href="http://eli.thegreenplace.net/2008/08/01/matplotlib-with-wxpython-guis/">这些示例</a>可以在wx框架中提供不断更新的渲染。我猜想了解您确切需要哪种动画输出会很有帮助。 - esm
1
不好意思,那个链接不知道出了什么问题。试试这个链接吧:http://eli.thegreenplace.net/2008/08/01/matplotlib-with-wxpython-guis/ - esm
1
你也可以使用类似mencoder的工具将一系列情节制作成电影。 - Autoplectic

8
最简单的选项是使用matplotlib。可能适合您的两种特定解决方案是:
1)您可以生成一系列以给定时间为快照的图,这些图可以在matplotlib中显示为动态图,其中坐标轴保持不变,数据移动;或者您可以将这些图保存为单独的文件,稍后将它们组合成电影(使用单独的应用程序)。官方示例中有许多做这些事情的示例。
2)一个简单的散点图,其中圆圈的颜色随时间变化,可能非常适合您的数据。这很容易。例如,请参见this,它产生了这个图alt text http://matplotlib.sourceforge.net/plot_directive/mpl_examples/pylab_examples/ellipse_collection.hires.png

4

3

2
Enthought的Chaco旨在设计交互/更新图。API等需要一点时间来适应,但一旦掌握,它是一个非常棒的框架可以使用。

0

我曾经使用Python应用程序生成嵌入动画功能的SVG取得了合理的成功,但这是在比您可能拥有的更小的元素集上完成的。例如,如果您的数据涉及地震事件,请显示一个圆圈,当事件发生时出现并随着事件的大小而增大。在时间轴上移动指示器非常容易添加。

Kaleidoscope(Opera,其他浏览器可能也可以,Safari不行)显示了许多移动的部件,我感到很有启发性。该网站还有许多其他优秀的SVG教程内容。


0
你可能想看一下PyQwt。这是一个与Qt/PyQt一起使用的绘图库。
在PyQwt的几个示例(在qt4examples目录中)中,有几个展示了如何创建“移动”/动态变化的绘图--可以看看CPUplot.pyMapDemo.pyDataDemo.py

PyQwt很好,但在Windows和Mac上编译时给了我很多麻烦,最终我使用了matplotlib。 - Luper Rouch

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