哈罗·索尔斯(Hallo SOers):搜索了一会儿之后,我的问题仍然显示出来了
我有一个数据文件,如:
xyz 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)列。
那么如何获得这样的稀疏条形图呢?
非常感谢!
回答:
您可以将值放入一个矩阵,其中每个元素代表一个条形。您将元素设置为值,而所有其他元素设置为零。
>> 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) >> 我相信您可以通过更改一些参数来使图更好,但这将是输出。
更多&回答...