我使用Matlab并创建了一个直方图,想要一条垂直线来表示平均值。到目前为止,我的代码是
N=100;
mydata=rand(N,1);
mymean=mean(mydata);
histogram(mydata);
figure(1)
hold on
line(mymean,N,'r')
我希望在平均值处找到穿过x轴的红线,但没有绘制线条。这有什么不对?
帮助...
答案 0 :(得分:0)
我假设您希望自己的行从点p1=[mymean 0]
转到点p2=[mymean N]
。只需告诉line
函数即可。现在你正在绘制一条只能到达某一点的线,所以就是这一点。
line([mymean mymean],[0 N],'r')
但是我认为没有理由使用line
,因为它只是plot
的低级函数,所以只做
plot([mymean mymean],[0 N],'r')
答案 1 :(得分:0)
从2018b版本开始,xline()
画一条垂直线。
N = 100;
mydata = rand(N,1);
mymean = mean(mydata);
h = histogram(mydata);
h2 = xline(mymean,'r-','LineWidth',1.5); % Requires MATLAB R2018b or later
其他LineStyle可用:'-'
,'--'
,':'
,'-.'
。
h2.LineStyle = '--';
颜色也很容易改变。
有关更多信息,请参见How to draw horizontal and vertical lines in MATLAB?,尤其是this answer。