如何在MATLAB中在同一图形中绘制水平线和曲线?
我应该在同一个图形中显示数据图(曲线)和数据平均值图(平面水平线)。我的代码可以很好地计算所有内容,并在图形中显示曲线,但无法显示水平线如何在MATLAB中在同一图形中绘制水平线和曲线?,matlab,plot,horizontal-line,Matlab,Plot,Horizontal Line,我应该在同一个图形中显示数据图(曲线)和数据平均值图(平面水平线)。我的代码可以很好地计算所有内容,并在图形中显示曲线,但无法显示水平线 plot(1:24,hours3,'b-.',1:24, avg3,'r--'); 因此,列“hours3”的图显示得很好,但平均值“avg3”的图根本没有显示出来。它应该是一条平面线,从x轴上的点1延伸到点24。有人知道这是为什么吗?这是因为绘图(1:24,avg3,rx-)被解释为24个单点。使用rx--作为线型,可以显示点打印在右侧,但未连接 plot
plot(1:24,hours3,'b-.',1:24, avg3,'r--');
因此,列“hours3”的图显示得很好,但平均值“avg3”的图根本没有显示出来。它应该是一条平面线,从x轴上的点1延伸到点24。有人知道这是为什么吗?这是因为绘图(1:24,avg3,rx-)
被解释为24个单点。使用rx--
作为线型,可以显示点打印在右侧,但未连接
plot(1:24,hours3,'b-.',1:24, repmat(avg3,1,24),'r--');
另外,按住键,您可以在现有图形中继续打印。请尝试以下代码:
StartPoint=1;
EndPoint=24;
Resolution=1; % you can set 0.1 if you want more precision
Ave=Ave3;% set a value for Ave3
x=[StartPoint:Resolution:EndPoint];
NumberofPoints=((EndPoint-StartPoint)/Resolution)+1;
HrzLine=Ave*ones(1,NumberofPoints);
Curve=0.2*x.^3-4.*x.^2+8;
plot(x,HrzLine);
hold on;
plot(x,Curve);
2018b版本使添加水平线(和垂直线)变得更加容易(对于垂直线)
也可以轻松添加后续行
yline(50) % horizontal line at y = 0
xline(12,'b--') % vertical line at x = 12 (blue, dashed)
需要MATLAB R2018b或更高版本
yline(50) % horizontal line at y = 0
xline(12,'b--') % vertical line at x = 12 (blue, dashed)