Python中的条形图(o情节)3D

Dav*_*ide 6 python 3d plot matplotlib

我需要以各种形式绘制一些数据.目前我正在使用Matplotlib,我对我能够制作的情节非常满意.

这个问题是如何绘制最后一个.数据类似于"距离表",就像这样(只是更大,我的表是128x128,每个元素仍然有3个或更多的数字).

现在,我的数据比距离表更好"结构化"(我的数据不会像按字母顺序排序的距离表那样"随机"变化),因此3D 条形图,或者其中3个,可能是完美的.我的理解是Matplotlib中缺少这样的图表.

我可以使用(彩色)Countor3d像这些在2D或类似imshow,但它是不是真的很好代表的是什么数据(数据有意义只是在我的128点,没有两个点之间的任何东西) .和酒吧的高度比颜色,IMO更可读.

因此问题:

  1. 是否可以在Matplotlib中创建3D条形图?应该清楚的是,我的意思是使用2D域,而不仅仅是一个带有"虚假"3D渲染的2D条形图,用于美学目的
  2. 如果上一个问题的答案是否定的,那么还有其他一些库可以做到吗?我非常喜欢基于Python的东西,但我对其他Linux友好的可能性也很满意
  3. 如果上一个问题的答案为否,那么您对如何显示该数据有任何建议吗?例如,创建一个包含值的表格,叠加到imshow或其他彩色方式?

Jou*_*nen 7

一段时间以来,matplotlib没有3D支持,但最近又添加了.您将需要使用svn版本,因为之后没有发布,文档有点稀疏(参见examples/mplot3d/demo.py).我不知道mplot3d是否支持真正的3D条形图,但其中一个演示看起来有点像它可以扩展到类似的东西.

编辑:演示的源代码在示例中,但由于某种原因,结果不是.我的意思是test_polys功能,这是它的样子:

示例图http://www.iki.fi/jks/tmp/poly3d.png

test_bar2D功能会更好,但它在演示中被注释掉,因为它会导致当前svn版本出错.可能是一些微不足道的问题,或者更难修复的问题.


Aut*_*tic 5

MyavaVi2可以制作3D条形图(向下滚动一下).一旦你有MayaVi/VTK/ETS /等.安装它所有工作都很漂亮,但它可以是一些工作,让它全部安装.Ubuntu已经打包了所有内容,但它们是我所知道的唯一Linux发行版.


Jou*_*nen 5

一种可能性是Gnuplot,它可以绘制某种伪3D条形图,而gnuplot.py允许从Python接口到Gnuplot.不过,我自己没试过.

  • +1哇,gnuplot来自python的后门:-)我在90年代经常使用它...我会看一下它(但是与新工具相比,伪3D条形图很难看...) (2认同)