我需要用各种形式绘制一些数据。目前我使用的是Matplotlib,我对我能够制作的情节相当满意。
这个问题是关于如何策划最后一个。数据类似于“距离表”,如this(只是更大,我的表是128x128,每个元素仍然有3个或更多的数字)。
现在,我的数据比距离表更“结构化”(我的数据不会像字母排序的距离表那样“随机”变化),因此3D barchart,或者可能是3个,将是完美的。我的理解是,Matplotlib中缺少这样的图表。
我可以使用一个(彩色)Countor3d,比如these,或者像imshow这样的2D,但它并不能很好地代表数据是什么(数据只有在我的128个点中有意义,两个点之间没有任何东西)。而且酒吧的高度比颜色更具可读性,海事组织。
因此问题是:
1.可以在Matplotlib中创建3D条形图吗?应该清楚的是,我指的是2D域,而不仅仅是一个带有“假”3D渲染的2D条形图
1.如果前面问题的答案是否定的,那么是否有其他库能够做到这一点?我非常喜欢基于Python的东西,但我也可以接受其他Linux友好的可能性
1.如果前一个问题的答案是否定的,那么您对如何显示这些数据有什么建议吗?例如,创建一个表格,将值叠加到imshow或其他彩色方式?
5条答案
按热度按时间2g32fytz1#
matplotlib已经有一段时间没有3D支持了,但现在已经添加回了recently。你需要使用svn版本,因为它还没有发布,文档也比较少(参见examples/mplot 3d/ www.example.com 不知道mplot 3d是否支持真实的的3D条形图,但其中一个演示看起来有点像它可以扩展到类似的东西。
编辑:演示的源代码是the examples的,但由于某种原因,结果不是。我指的是
test_polys
函数,它看起来是这样的:example figure http://www.iki.fi/jks/tmp/poly3d.png
test_bar2D
函数会更好,但在演示中被注解掉了,因为它会导致当前版本的svn出错.可能是一些微不足道的问题,或者更难解决的问题。aamkag612#
MyavaVi2可以制作3D条形图(向下滚动一点)。一旦你有MayaVi/VTK/ETS/等等。安装它的所有工程漂亮,但它可以是一些工作得到它的所有安装。Ubuntu已经打包了所有这些,但它们是我所知道的唯一一个Linux发行版。
33qvvth13#
另一种可能性是Gnuplot,它可以绘制某种伪3D条形图,gnuplot.py允许从Python接口到Gnuplot。我自己也没有试过。
xzabzqsa4#
这是我使用matplotlib编写的一个简单的Bar-3d代码。
http://i8.tietuku.com/ea79b55837914ab2.png
gg58donl5#
您可以查看Chart Director:
http://www.advsofteng.com
它有各种各样的图表和图形,并有一个很好的Python(和其他几种语言)API。
有两个版本:免费版本在生成的图像上放一个简介,付费版本的价格相当合理。
下面是一个看起来更有趣的3D堆叠条形图:
(来源:advsofteng.com)