首页 文章

Matlab:指定轴上的3d条形图

提问于
浏览
1

你好SOers:经过一段时间的搜索,答案仍然出现在我的问题中:
我有一个数据文件,如:

x  y     z
10 100   30
10 500   90
10 600   200
30 200   30
90 120   300
90 130   30
90 200   60

在matlab中,我想将z绘制在(x,y)上,这不是连续的点 . 情节点应该是一个条形 . 但plot3()似乎不支持3d条形图,
和bar3()似乎不允许我指定我的(x,y)列 .

那么如何获得如此稀疏的条形图?

非常感谢!

1 回答

  • 3

    您可以将值放入Matrix,其中每个元素代表一个条形 . 您将元素设置为值,将所有其他元素设置为零 .

    >> x = x./10    %I scaled the x and y values down by factor of 10
    
    
    x =
    
         1     1     1     3     9     9     9
    
    >> y = y./10
    
    y =
    
        10    50    60    20    12    13    20
    
    
    >> A = zeros(max(x),max(y));       %create Matrix of size 9x20
    >> for i = 1:length(x)
    A(x(i),y(i)) = z(i);               %populate the Matrix
    end
    >> bar3(A)
    >>
    

    我相信你可以通过改变一些参数使得情节更好,但这将是输出 .

    This would be the output.

相关问题