Matlab:如何在(x,y,z) - 坐标中绘制堆积的3D条形图?

时间:2013-12-30 11:11:21

标签: matlab 3d stack

我想在三维坐标中绘制堆叠的3D条形图,即给定x,y,z是堆叠的3D条形图。似乎Matlab只支持二维坐标中的这种绘图。

例如,如何使用以下数据集在(x,y,z)空间中绘制这样的堆叠3D条?

    x, y, z
    1, 2, (3+4)
    1, 1, (5+6)
    2, 1, (1+1)

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以采取两种常规方法......

  1. 绘制自己的条形图(即长方体):您可以创建一个带有值集的函数,并绘制这些点处的长方体曲面。有几种方法可以创建基本的3D立方体,this questionthis MATLAB Newsgroup thread涵盖了这些方法。您只需相应地缩放,移动和重新着色立方体表面。如果这似乎是一项艰巨的任务,那么......

  2. 制作多个BAR3图,相应地修改每个图: This question涵盖如何制作堆积条形图的网格。在您的情况下,您可能不需要完整的网格,但是稀疏的堆积条散布在区域中的不同坐标处。在这种情况下,您可以通过为z创建2-D数据集来格式化您的数据以使用上述问题中的解决方案,并在不需要任何条形图的地方填充零。然后,您可以使用this question中的解决方案在每个步骤中删除不需要的零值条。