我想在单个数字中绘制一个条形图[MAT_LAB(:,2),MAT_LAB(:,3)],其中包含双y-lable和范围。
MAT_LAB=[ 1 4210 0.9915;
2 4225 0.9951;
3 4201 0.9894]
bar(MAT_LAB(:,2),'stacked','BarWidth',0.3);
hold;
bar(MAT_LAB(:,3),'stacked','BarWidth',0.3);
它不起作用.y1的范围是0-4500。 y2的范围是0-1。
答案 0 :(得分:1)
您可以使用plotyy
执行此操作,如下所示:
delta = .2; %// adjust as needed
plotyy(MAT_LAB(:,1)-delta, MAT_LAB(:,2),...
MAT_LAB(:,1)+delta, MAT_LAB(:,3),...
@(x,y) bar(x,y, 'b', 'stacked', 'BarWidth', 0.3),...
@(x,y) bar(x,y, 'r', 'stacked', 'BarWidth', 0.3));
注意:
delta
以便通过水平移动它们来区分两组条形。plotyy
的两个anonymous functions控制每组 x , y 值的实际绘图。您可以在那里指定bar
个选项。使用两个匿名函数可以指定不同的选项(例如我的示例中的颜色)。