我有一个包含(事件时间,纬度,经度)的元组的大数据集,我需要进行可视化。我希望能够创建一个像'电影'一样的xy情节,但是想知道是否有人有更好的想法,或者是否有一种简单的方法可以用Python做到这一点?
提前感谢您的帮助, --Leo
答案 0 :(得分:16)
答案 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.py
,MapDemo.py
,DataDemo.py
。