Указание статистической значимости на боксплоте - PullRequest
0 голосов
/ 28 октября 2018

Я строю два коробочных графика с моими наборами данных в MATLAB.Я хотел поставить знак зодиака между коробками, указывающий статистическую значимость.Когда я рисую эту звезду, она настраивается на один угол, а не между полями.Я прилагаю коробку с этим.Мы будем благодарны за любую помощь в решении этой проблемы.

x1 = required_data_threhold_time_for_recruitment_gdnest; 
x2 = required_data_threhold_time_for_recruitment_bdnest; 
x = [x1 ;x2];
g = [ones(size(x1)); 2*ones(size(x2))];
boxplot(x,g,'Labels',{'Good nest (1 lux)','Poor nest (16 lux)'});
ylabel('Time(seconds)')
yt = get(gca, 'YTick');
axis([xlim    0  ceil(max(yt)*1.2)])
set(gca, 'Xtick', 1:3);
xt = get(gca, 'XTick');
hold on
plot(xt([2 3]), [1 1]*max(yt)*1.1, '-k',  mean(xt([2 3])), max(yt)*1.15, '*k')
hold off

enter image description here

1 Ответ

0 голосов
/ 28 октября 2018

Вы строите линию между координатами оси X xt([2 3]), где xt обозначает расположение отметок.Это означает, что вы рисуете линию между отметками 2 и 3. Если вы наблюдаете за своим графиком, вы увидите только две отметки.Третий выходит за пределы вправо.Таким образом, расположение линии (и звезды) точно соответствует ожидаемому.

Вместо этого используйте xt([1,2]), местоположение первых двух отметок.

Причина, по которой у вас три отметкииз-за линии

set(gca, 'Xtick', 1:3);

, которая явно устанавливает отметки в x-координатах 1, 2 и 3. Пределы x для вашей фигуры, вероятно, близки к 0,5 и 2,5, поскольку построены графические блокив целочисленных координатах.Вы можете проверить значение xlim, которое вы уже используете в коде, чтобы узнать, каковы ограничения.

Я бы пропустил этот шаг, не устанавливая явно места для галочек, они должны быть правильными из get-go.

Кроме того, я бы использовал команду ylim (или set(gca,'XLim',...)), чтобы изменить пределы оси Y.

...