用matlab中的折扣和重复数据绘制条形图?

时间:2017-09-13 18:02:03

标签: matlab plot bar-chart

我实际上有数据:

**CODE**==

我想将这些数据绘制成条形图,其中z表示条形的高度,但问题是我不知道如何处理x和y轴,重复和不连续的值以及每当我尝试简单地使用 x y z 2 4 0,494949495 2 6 0,494949495 2 8 0,535353535 2 10 0,585858586 2 12 0,474747475 3 4 0,535353535 3 6 0,494949495 3 8 0,545454545 3 10 0,484848485 3 12 0,474747475 4 4 0,535353535 4 6 0,474747475 4 8 0,434343434 4 10 0,525252525 4 12 0,494949495 我收到以下错误:

  

使用matlab.graphics.axis.Axes / set时出错   在设置'Axes'的'YTick'属性时:

     

值必须是单值或双精度值的向量,其值增加

     

bar3中的错误(第74行)

     

集(CAX, 'ytick',Y(:,1));

1 个答案:

答案 0 :(得分:0)

这是一种在x和y列指定的每个坐标处绘制z值的方法。

xyzData=[2  4   0.494949495;
2  6   0.494949495;
2  8   0.535353535;
2  10  0.585858586;
2  12  0.474747475;
3  4   0.535353535;
3  6   0.494949495;
3  8   0.545454545;
3  10  0.484848485;
3  12  0.474747475;
4  4   0.535353535;
4  6   0.474747475;
4  8   0.434343434;
4  10  0.525252525;
4  12  0.494949495];

Y=NaN(xyzData(end,1),max(xyzData(:,2)));
Y(sub2ind(size(Y),xyzData(:,1),xyzData(:,2)))=xyzData(:,3);
figure;bar3(Y)

输出:

enter image description here