1

我想知道是否有可能将bar绘图的相同分组行为放入bar3. 例如,如果您绘制

  bar(rand(3));

你每点得到 3 条;对每个xbar的不同y值进行分组。现在我想对 3D 数据做同样的事情。那就是我有几个二维数据切片,我想将它们可视化为条形组。那么,如果我的数据是

data = rand(3,3,2);

我想将其data(1,1,:)视为一组酒吧,以及data(1,2,:)另一组等等。

可能吗?我找不到实现这一目标的方法。

编辑:我正在添加更多细节,以便更好地解释它。

可以说我们有两组或更多组数据{x_(i,j)^s}。我需要的是在相同的网格位置分组(i,j),所有的集合s。在这个问题中,他们将数据集并排分组,而不是按元素分组,如下所示:

x1(s1) x1(s2) x1(s3)   x2(s1) x2(s2) x2(s3)   x3(s1) x3(s2) x3(s3)
x4(s1) x4(s2) x4(s3)   x5(s1) x5(s2) x5(s3)   x6(s1) x6(s2) x6(s3)
x7(s1) x7(s2) x7(s3)   x8(s1) x8(s2) x8(s3)   x9(s1) x9(s2) x9(s3)

我想要bar命令行为,当放置多个数据集时它倾向于分组。我想知道这是否可能。

4

2 回答 2

1

我不确定我是否完全理解,但是如果您正在寻找像您提到的那样的分组行为,bar(rand(3))那么您可以尝试

figure; bar3(rand(5),'grouped');
% or maybe
figure; bar3(rand(5),'stacked');

或尝试重新排列 data 中的数据,以便它可以更好地与 bar3 和 reshape 一起使用:

data = rand(3,3,2);
% now each data(i, j, :) will be in single row 
changeddata = reshape(data , [size(data , 1)*size(data , 2) 2]);
figure; bar3(changeddata);
figure; bar3(changeddata ,'grouped');
figure; bar3(changeddata ,'stacked');

也许如果您可以给出一个代码示例来说明它在一组中的外观,这将有助于更好地理解您的问题。

于 2011-03-24T13:06:22.650 回答
0

如果您想在 3D 条形图中对条形图进行分组,但您很高兴 o 小组(假设每组 2 或 3 个条形图),那么您可以简单地利用 bar3 中的 Y 参数:BAR3(Y,Z,WIDTH) 所以您可以使用两个移位的 Y 向量指定两组条形的位置。

例如: bar3(0:3:9,rand(4,4),0.3) 坚持 bar3(1:3:10,rand(4,4),0.3)

然后您可以按照适合您的方式编辑标签。

于 2013-01-25T23:29:53.843 回答