八度,条形图,只有一行

Octave, barplot, only one row

我需要在 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");

做到了。第二个情节产生了我所需要的:

然而,第一个并不像我假设的那样工作:

有什么方法可以生成单行条形图,该图生成的图形只有第一条图的样式中的一列?

提前致谢。

罗德里戈

这不是一个优雅的解决方案,但它可以在大多数情况下工作。

想法是绘制一个额外的柱(在 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");