在matlab中绘制带有双y轴的堆积条形图

时间:2013-03-02 17:56:12

标签: matlab charts plot

您好我正在尝试在matlab中绘制带有双y轴的堆积条形图。我可以自己绘制堆叠或双y,但不能一起绘制!

到目前为止我所拥有的是

Industry = [436.8 508 388 351 273]';
Domestic = [778.05 762 777 632 517]';
Road_Transport = [1092 921 1061 1041 702]';


  figure;
 bar(1:5,[Industry Domestic Road_Transport],0.5,'stack');

现在我想为上面的每一个添加第6列,称为“Total”

  Total = [1958 3466 4808]';

有没有人有任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:0)

MATLAB不允许您仅使用1列数据绘制条形图。所以你用0填充它来欺骗它。

我的代码

fun = @(x,y) bar(x, y, 0.5, 'stack')
plotyy(1:5,[Industry Domestic Road_Transport],5:6,[zeros(3,1) Total]', fun)

第一个条形图从1到5,第二个条形图从5到6,但您没有在Total图表中看到第5列。