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

时间:2011-03-03 08:47:12

标签: matlab

你好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 个答案:

答案 0 :(得分:3)

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

>> 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.