我需要在Octave中绘制条形图。以下代码:
clf;
data = rand(4, 5);
h1 = bar(data(1, :), "stacked");
l1 = legend("Col1", "Col2", "Col3", "Col4", "Col5");
legend(l1, "location", "northeastoutside");
figure
h4 = bar(data, "stacked");
l4 = legend("Col1", "Col2", "Col3", "Col4", "Col5");
legend(l4, "location", "northeastoutside");
然而,第一个不起作用,因为我认为它会:
有没有办法让单行条形图生成一个只有一列第一个图样式的图形?
提前致谢。
罗德里戈
答案 0 :(得分:1)
这不是一个优雅的解决方案,但它可以在大多数情况下使用。
这个想法是绘制一个额外的条形图(在x = 2中),然后隐藏它来改变它 x轴的极限(假设[0.05,1.95]):
M=zeros(2,4);
M(1,:)=rand(1,4);
bar(M, "stacked");
xlim([0.05 1.95]);
l1 = legend("Col1", "Col2", "Col3", "Col4", "Col5");
legend(l1, "location", "northeastoutside");