在直方图上绘制垂直线matlab

时间:2017-05-11 08:53:14

标签: matlab plot graphics histogram matlab-figure

Matlab R2015b。我使用以下代码绘制直方图:

close all;
hold on;
ko = histograms_windows_1_0{7};
histogram(ko);
set(gca,'XLim',[0 30],'XTick',0:5:30);
xticks = [0;0.16;0.33;0.5;0.66;0.83;1];
set(gca,'XTickLabel', xticks)
xlabel('Seconds');
ylabel('Correct Transitions');

这给了我照片:

enter image description here

现在我想添加显示“秒”轴的平均值的垂直线,我已经知道该值以及标准偏差。类似于:enter image description here

的东西

我有mn和stdv值。我试过这个:

mn = mean(ko) / 30;
stdv = std(ko) / 30;
hax=axes;
line([mn mn],get(hax,'YLim'))
hold off;

但它忽略了之前绘制的直方图并绘制了垂直线,但只显示了该线,不再有直方图。如何实现?

1 个答案:

答案 0 :(得分:4)

问题在于

hax=axes;

这将创建一个 new 轴对象,覆盖前一个。

解决方案是改为

hax=gca;

以便随后的line转到包含直方图的相同轴。