Python中的科学绘图

时间:2009-05-03 01:53:32

标签: python visualization plot scientific-computing

我有一个包含(事件时间,纬度,经度)的元组的大数据集,我需要进行可视化。我希望能够创建一个像'电影'一样的xy情节,但是想知道是否有人有更好的想法,或者是否有一种简单的方法可以用Python做到这一点?

提前感谢您的帮助, --Leo

7 个答案:

答案 0 :(得分:16)

获取matplotlib

答案 1 :(得分:8)

最简单的选择是matplotlib。可能适合您的两个特定解决方案是:

1)您可以生成一系列图表,每个图表都是给定时间的快照。这些可以在matplotlib中显示为动态图,其中轴保持不变并且数据移动;或者您可以将一系列图表保存到单独的文件中,然后将它们组合起来制作电影(使用单独的应用程序)。这些事情的官方例子中有很多例子。

2)一个简单的散点图,其中圆圈的颜色随时间变化可能适用于您的数据。这非常简单。例如,见this,它产生了这个数字 alt text http://matplotlib.sourceforge.net/plot_directive/mpl_examples/pylab_examples/ellipse_collection.hires.png

答案 2 :(得分:4)

我试试rpy。 Rthon中的所有权力,来自python中。 http://rpy.sourceforge.net/

rpy太棒了。

查看CRAN库中的动画, http://cran.r-project.org/web/packages/animation/index.html

当然,你必须要学习一点R来做这件事,但如果你计划将来经常这样做,那么你将值得学习。

答案 3 :(得分:3)

如果您对使用Python进行科学绘图感兴趣,请查看Mlab:http://code.enthought.com/projects/mayavi/docs/development/html/mayavi/mlab.html

它允许您绘制2d / 3d并为您的数据设置动画,并且图表的质量非常高。

答案 4 :(得分:2)

Enthought的Chaco专为交互式/更新图而设计。 api等需要一段时间才能使用,但是一旦你在那里,它就是一个很棒的框架。

答案 5 :(得分:0)

我在Python应用程序中取得了一定的成功,生成了嵌入了动画功能的SVG,但是这个元素的集合比你可能拥有的要少。例如,如果您的数据是关于地震事件的,则显示一个圆圈,该圆圈显示事件发生的时间并且大小与事件的大小相匹配。时间线上的移动指标非常容易添加。

Kaleidoscope(Opera,其他人可能,Safari不是)显示了很多动作,我发现了鼓舞人心的。网站上还有很多其他好的SVG教程内容。

答案 6 :(得分:0)

您可能需要查看PyQwt。这是一个与Qt / PyQt一起使用的绘图库。

几个PyQwt示例(在qt4examples目录中)显示了如何创建“移动”/动态变化的图表 - 查看CPUplot.pyMapDemo.pyDataDemo.py