我需要绘制一些各种形式的数据。目前我在用 Matplotlib 和我相当乐意与该地块我能够产生。

这个问题是如何阴谋的最后一个。数据是相似的"表距离"一样 (仅更大,我的表是128×128,仍然有3个或更多数量元素)。

现在,我的数据更好的"结构化"比距离表(我的数据没有变化"随意"就像在一个字母顺序排列的距离表),因此3D 条形图, 或者也许其中的3个,将是完美的。我的理解是,这一图表中缺少Matplotlib.

我可以使用(彩色)Countor3d喜欢 这些 或者什么东西在2D像imshow,但它不是真正代表性的数据(数据具有意思,只是在我128点,没有什么两点之间).和高度酒吧是更具可读性比的颜色,海事组织。

这样的问题:

  1. 是否有可能创建3D条形图在Matplotlib?它应该是清楚的,我的意思是有一个2D域,而不仅仅是一个2D条形图与"假"的3D描绘的美学用途
  2. 如果回答前一个问题是没有,那么是有一些其他图书馆能够做到这一点?我强烈喜欢的东西蟒蛇的基础,但我确定与其他Linux的友好的可能性
  3. 如果回答前一个问题是否定的,那么你有任何建议,关于如何显示这些数据?E.g。创建一个表格与价值观,重叠的imshow或其他颜色的方式?
有帮助吗?

解决方案

MyavaVi2 可以让 3D barcharts (滚下来一个位)。一旦你 MayaVi/VTK/ETS/等。安装它所有的精美的作品,但它可以是一些工作得到它所有安装。Ubuntu有它的所有包装,但是他们唯一的Linux发行版的我知道不会。

其他提示

一段时间以来,在matplotlib没有3D支持,但是它已加入的背 最近.你将需要使用svn版本,因为没有释放已经取,因为,该文件是一个小小的疏(见examples/mplot3d/demo.py).我不知道如果mplot3d支持真正的3D图,但其中一个演示看起来有点喜欢它可以扩大到类似的东西。

编辑:源代码的演示是在 但由于某些原因,结果是没有的。我的意思是 test_polys 功能,这里怎么看起来像:

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

test_bar2D 功能甚至会更好,但它说出来的演示,因为它会导致错误的当前svn版本。可能是一些琐碎的问题,或者东西更难以解决。

一种可能性是Gnuplot,其中可以汲取一些样的 伪3D图吧, , gnuplot.py 可与Gnuplot从蟒蛇。我没有尝试过自己,虽然。

这是我的代码,用于一个简单的吧-3d使用matplotlib.

import mpl_toolkits
from mpl_toolkits.mplot3d import Axes3D   
import matplotlib.pyplot as plt
%matplotlib inline

## The value you want to plot 
zval=[0.020752244,0.078514652,0.170302899,0.29543857,0.45358061,0.021255922,0.079022499,\
  0.171294169,0.29749654,0.457114286,0.020009631,0.073154019,0.158043498,0.273889264,0.419618287]    

fig = plt.figure(figsize=(12,9))
ax = fig.add_subplot(111,projection='3d')
col=["#ccebc5","#b3cde3","#fbb4ae"]*5
xpos=[1,2,3]*5
ypos=range(1,6,1)*5
zpos=[0]*15
dx=[0.4]*15
dy=[0.5]*15
dz=zval

for i in range(0,15,1):
     ax.bar3d(ypos[i], xpos[i], zpos[i], dx[i], dy[i], dz[i],     
color=col[i],alpha=0.75)

ax.view_init(azim=120)
plt.show()      

http://i8.tietuku.com/ea79b55837914ab2.png

你可能会检查了图表,主任:

http://www.advsofteng.com

它有一个相当广泛的各种图表和图表,并有一个很好的蟒蛇(和若干其他语言)API。

有两种版本:免费版本将一个blurb在所生成的图象, 支付版本是非常合理的价格。

这里有一个更有趣的3d堆积水图表:

sample graph
(资料来源: advsofteng.com)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top