我正在使用Python试图分析大量的经验测量。本质上,我有两个函数转换经验数据,这些数据也需要3个'计数'参数 - 并在每个配置中返回一系列浮点数。我期待(希望)在选择适当的参数时看到一些有趣的模式出现。我预计模式可能在为每个函数返回的序列之间是相对的 - 和/或与参数中的某种模式相关。如果它是相关的,3'计数'参数大致对应于:
摘要统计(为每个参数配置生成浮动的结果序列)非常重要,但对所有三个参数都是独立敏感的。
我对可视化技术很感兴趣 - 适合RAD / ad-hoc查询,可以帮助我试验这种多维数据。
到目前为止,我已经对MatPlotLib进行了修改,但发现限制生成两个2/3维度的图表,以批处理的方式使调查非常繁琐。理想情况下,我会找到一个工具,允许我可视化两个以上的维度......也许允许我在交互式GUI中实现维度之间的实时切换。
我非常感谢任何可视化大师提供的关于我应该研究的合适工具的提示 - 理想情况是与我现有的Python函数集成 - 或者用其他语言。我特别喜欢听到类似可视化问题的成功轶事。
编辑添加 :我正在考虑的一种可能的方法是在2或3D图上使用动画(捕捉另一个维度...留下1或2表示手动选择)...虽然我找不到帮助我实现这一目标的好工具,但是。
答案 0 :(得分:12)
RGL是R的可视化设备系统,使用OpenGL作为渲染后端。 rgl设备的核心是用C ++编写的实时3D引擎。它提供了交互式视点导航功能(鼠标+滚轮支持)和R编程接口。
GGobi是一个用于探索高维数据的开源可视化程序。它提供高度动态和交互式的图形,如旅游,以及熟悉的图形,如散点图,条形图和平行坐标图。情节是互动的,并与刷牙和识别相关联。
有一个教程涵盖了上述两个系统here。
RPy是一个非常简单但强大的R编程语言Python接口。它可以管理各种R对象,并可以执行任意R函数(包括图形函数)。 R语言中的所有错误都将转换为Python异常。可以在Python中使用为R系统安装的任何模块。
答案 1 :(得分:3)
您可能希望查看使用动画输出SVG,在这种情况下this question可能会让您感兴趣。我怀疑动画方面需要你做很多工作。另一种选择是将数据可视化为图形,尽管我对您的数据知之甚少,无法知道这对您是否有用。如果是,则cytoscape为python scriptable
答案 2 :(得分:3)
如果你想要的只是一个动画表面,那么gnuplot可以做到。快速介绍can be found here或from the gnuplot FAQ。显然可以在gnuplot文档中找到更多细节。
答案 3 :(得分:3)
您可以尝试guiqwt
。它针对2D图形,但更具体地针对交互式图(与Matplotlib相反,尽管它也可以处理某种程度的交互)。来自 guiqwt 文档:
<强>概述强>
基于PyQwt(绘制PyQt4图形用户界面的小部件) 在科学模块NumPy和SciPy上,guiqwt是一个Python 库提供有效的2D数据绘图功能(曲线/图像 可视化和相关工具)用于交互式计算和 信号/图像处理应用程序开发。
<强>性能强>
目前最流行的数据绘图Python模块 matplotlib,一个提供大量情节类型的开源库 一个API(pylab接口)非常接近MATLAB的绘图 接口
guiqwt绘图功能在绘图类型方面非常有限 与matplotlib相比。但是目前实施的情节类型 效率更高。例如,guiqwt图像显示 函数(guiqwt.pyplot.imshow())不做任何副本 显示数据,因此允许显示更大的图像 而不是matplotlib的对应物。换句话说,当显示一个 带有guiqwt的30 MB图像(例如16位无符号整数),没有 浪费额外的内存来显示图像(除了 屏幕外的图像当然取决于窗口大小)而 matplotlib需要超过600 MB的额外内存(原始内存) 使用64位浮点数据类型重复四次数组。)
(我没有尝试过,所以我不能评论这些说法。)
答案 4 :(得分:3)
好的,既然我了解你的数据,我绝对可以建议一种可视化方法。彩色3D表面密度图。使用a0,a1和a2作为标准x,y,z轴,使用a3作为时间轴,并在单色范围(或从冷到热)绘制不同的颜色。这样,唯一需要交互式滑块的是a3。
就这方面的工具而言
答案 5 :(得分:2)
Mayavi之类的声音可能符合您的需求。它是用Python编写的,可以交互使用并支持3D图形和动画。您可以查看this tutorial,了解它是否符合您的需求。
我使用旧版本的mayavi在Python中完成了动画的交互式三维可视化,请参阅this page。
不幸的是,大多数Mayavi示例都展示了太多高级功能。以下两个示例演示了更多基本应用程序。如果这两个不符合您的需求,那么Mayavi可能不是您的理想选择。我的理解是你有想要可视化的浮动数组。
示例1
以下是旧页面中有关您可以使用浮动3D数组执行的操作的具体示例:3D data example。此示例显示了isocontour表面的使用,一个实心切割平面穿过数据,另一个切割平面使用isocontour线。您可以交互式移动切割平面或选择不同的可视化工具。 (在我的例子中,我添加了另一个维度和动画,通过超立方体将数据显示为3D立方体切片。)
示例2
这是另一个与Mayavi有关的“传统”情节的例子:Fourier transform example。这与许多其他绘图库非常相似。
答案 6 :(得分:0)
下载Tableau的免费试用版(www.tableausofware.com)。它会根据X,Y,大小,颜色和形状对数据进行编码,您可以创建任何其他尺寸的小倍数 - 即您可以一次查看大量尺寸。您可以非常快速地尝试大量可视化。公司网站上有免费培训。
免责声明:我为他们工作。
答案 7 :(得分:0)
3维度最简单的可视化是气泡图或动态图表。在x和y轴的顶部,您可以使用气泡大小和气泡颜色作为额外的尺寸。
谷歌可视化(http://code.google.com/apis/chart/interactive/docs/gallery/motionchart.html)及其谷歌电子表格交互模式提供了一个简单的界面,可以使用哪个维度轴/尺寸/颜色。
它的目的不是处理太多的数据点,但您可以轻松地使用它来识别数据样本上的模式。