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)列。
那么如何获得如此稀疏的条形图?
非常感谢!
答案 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)
>>
我相信你可以通过改变一些参数来使情节更好,但这将是输出。