Группировка bar3 графиков, таких как bar - PullRequest
1 голос
/ 17 марта 2011

Мне интересно, возможно ли получить такое же поведение группировки bar графиков в bar3. Например, если вы строите график

  bar(rand(3));

вы получаете 3 бара за каждую точку; bar группирует различные значения y для каждого x . Теперь я хотел бы сделать то же самое с 3D-данными. Это значит, что у меня есть несколько срезов 2D-данных, которые я хочу визуализировать как группы баров. Тогда, если мои данные

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 имело тенденцию группироваться при вводе более одного набора данных. Я хотел бы знать, возможно ли это.

Ответы [ 2 ]

1 голос
/ 24 марта 2011

Я не уверен, что полностью понял, но если вы ищете групповое поведение, как вы упомянули с помощью bar(rand(3)), тогда вы можете попробовать

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

или попытаться переставить данные в данных, чтобы они моглилучше работайте с bar3 с изменением формы:

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');

Может быть, если вы приведете пример кода того, как он должен выглядеть в одной группе, это поможет лучше понять ваш вопрос.

0 голосов
/ 26 января 2013

Если вы хотите сгруппировать столбцы на трехмерных столбчатых диаграммах, но вы довольны небольшими группами (скажем, 2 или 3 столбца в каждой группе), вы можете просто воспользоваться аргументом Y в bar3: BAR3 (Y, Z,ШИРИНА), поэтому вы указываете расположение двух групп баров с двумя смещенными векторами Y.

пример: bar3 (0: 3: 9, rand (4,4), 0.3) удерживайте на bar3 (1:3: 10, rand (4,4), 0.3)

, затем вы можете редактировать метку так, как вам удобно.

...