Нет такой функции, о которой я знаю, но ее легко написать:
function [hl,ht] = overbar(x1, x2, y, txt)
sz = get(gca,'FontSize');
bg = get(gca,'Color');
d = 2; % size of hook, change depending on y axis scaling
hl = line([x1,x1,x2,x2], [y,y+d,y+d,y]);
ht = text((x1+x2)/2, y+d, txt, ...
'HorizontalAlignment','center', ...
'VerticalAlignment','middle', ...
'FontSize',sz, ...
'BackgroundColor',bg);
end
Эта функция использует размер шрифта и свойства цвета осей, чтобы определить способ рисования текста. Сначала он рисует линию, затем рисует текст сверху, используя сплошной фон, так что линия кажется прерванной текстом.
Вот как вы бы это использовали:
x = 1:3;
y = [17.5, 97.5, 100];
std = [23.84848004, 10.89724736, 0];
figure
hold on
set(gca, 'FontSize',16)
bar(x, y)
errorbar(y, std, '.')
set(gca, 'ylim',[0,150]);
XTickLabel = {'A', 'B', 'C'};
set(gca, 'xtick',x, 'XTickLabel',XTickLabel);
overbar(1 ,2, 120, 'p=0.037');
overbar(2, 3, 130, 'p<0.0001');
overbar(1, 3, 140, 'p<0.0001');
![output plot](https://i.stack.imgur.com/mEI0K.png)