Mam 3 wektory: Y=rand(1000,1)
, X=Y-rand(1000,1)
i ACTid=randi(6,1000,1)
. Chciałbym utworzyć wykresy boków według grup Y i X odpowiadających ich wartości grupy 1: 6 (z ACTid).Najbardziej efektywny sposób na zgrupowanie boxplot matlab
To raczej ad hoc i wygląda paskudny
for ii=
dummyY(ii)={Y(ACTid==ii)};
dummyX(ii)={X(ACTid==ii)}
end
Teraz mam dane w komórce, ale nie może pracować się, jak to grupa w boxplot. jakieś pomysły?
Znalazłem aboxplot
function który wygląda tak, ale nie chcę tego, chciałbym wbudowaną funkcję boxplot, ponieważ konwertuję ją na matlab2tikz i ta nie robi tego dobrze.
EDIT
Dzięki Olega: mamy teraz pogrupowane wykres typu boxplot ... ale etykiety są pochylać-przewiew.
xylabel = repmat({'Bleh','Blah'},1000,1); % need a legend instead, but doesn't appear possible
boxplot([Y(:,end); cfu], {repmat(ACTid,2,1), xylabel(:)} ,'factorgap',10,'color','rk')
set(gca,'xtick',1.5:3.2:50)
set(gca,'xticklabel',{'Direct care','Housekeeping','Mealtimes','Medication','Miscellaneous','Personal care'})
>> ylabel('Raw CFU counts (Y)')
Jak dodać legendę?
Mam coś ukrytego, ponieważ używam 'matlab2tikz' i mogę to łatwo określić. Legenda, którą mogę też sztucznie umieścić, ale nie jest tak zabawna: S – HCAI