上一章介绍了MATLAB在一张图片中绘制多条不同颜色曲线的几种方法。 今天我们将介绍绘图时不同线型、点和标记的使用。
一、线型、连续标记
从最常见的开始。 在 plot 函数中指定线条样式。
t=linspace(0,5,20);
x1 = t;
x2 = 2*t;
x3 = 3*t;
x4 = 4*t;
绘图(t,x1,’b’,t,x2,’g-o’,t ,x3,’r*’,t,x4,’c:d’);
这是基本和简单的情况。 无需过多叙述。 matlab 提供的线型、颜色和标记如下:
如果指定了标记符号但未指定线型,则该图仅显示没有条形连接的标记。
A = 1;
f= 1;
x1 = A * sin(2*pi*f*t)./t;
x2 = A * cos(2*pi*f*t-pi/2)./t;
plot(t,x1,’bo’,t,x2,’r* ‘);
两组数据对比
可以通过名值对参数设置tag属性,自定义tag。
- MarkerSize
- – 标记大小,指定为正值。
- MarkerEdgeColor
- – 标记轮廓颜色,指定为颜色名称或 RGB 三元组。
- MarkerFaceColor
- – 标记内部颜色,指定为颜色名称或 RGB 三元组。
t=linspace(0,5,120);
A = 1;
f= 0.2;
x1 = exp(t/10).*sin(4*2*pi*f*t);
plot(t,x1,’b–d’,’MarkerSize’,9,’MarkerEdgeColor ‘,’red’,’MarkerFaceColor’,[1 0.6 0.5])
二、在指定位置标记
如果需要在特定点标记,可以使用 MarkerIndices(显示标记的数据点的索引)设置。
1. 例如,从第一个数据点开始,每十个数据点显示一个标记。 然后你可以设置 plot(x,y,’-*’,’MarkerIndices’,1:10:length(y))。
2. 如果在最小数据值和最大数据值处显示红色标记。 首先找到最大值和最小值。
idxmin = find(y == max(y));
idxmax = find(y == min(y));
然后设置 plot(x,y,’-d’,’MarkerIndices’,[idxmin idxmax]).
同样,我们可以使用MarkerIndices属性来设置需要标记的指定位置。
plot(x,y,’-d’,’MarkerIndices’,[1 10 18 32]).
注意:MarkerIndices 仅在 MATLAB R2016b 及更高版本中可用。
3. 在plot函数中直接指定横纵坐标
t=linspace(0,5,120);
A = 1;
f= 0.2;
x1 = exp(t/10).*sin(4*2*pi*f*t);
plot(t,x1,t(40),x1(40 ),’rp’,t(75),x1(75),’k*’);
4、添加文字说明
t=linspace(0,5,100);
A = 1;
f= 1;
x1 = A * sin(2*pi*f*t)。 /t;
绘图(t,x1,’b-.’,t(6),x1(6),’rp’,t(60),x1(60),’md’) ;
text(t(6),x1(6),[ ‘leftarrow’ ‘P(‘ num2str(t(6)) ‘,’ num2str(x1(6)) ‘)’ ]) ;
还可以设置描述颜色。
text(t(6),x1(6),[ ‘leftarrow’ ‘P(‘ num2str(t(6)) ‘,’ num2str(x1(6)) ‘)’ ],’ color’,’r’);
也可以使用gtext,gtext(‘input content’),然后在图片上点击鼠标确定标记位置。
5. annotation() 函数
annotation(lineType,x,y) 创建在当前图形中的两点之间延伸的直线或箭头注释。 将 lineType 指定为“line”、“arrow”、“doublearrow”或“textarrow”。 将 x 和 y 分别指定为 [x_begin x_end] 和 [y_begin y_end] 形式的二元向量。
例如annotation(‘textarrow’,x,y) %坐标x和y是标准化坐标,它们的值在0到1之间,整个图形窗口的左下角是 (0, 0),右上角为(1, 1)。
全部关闭;
t=linspace(0,5,100);
A = 1;
f= 1;
p>
f= 1;
p>
x1 = A * sin(2*pi*f*t)./t;
x2= A * sin(2*pi*0.5*t)./t;
x2= A * sin(2*pi*0.5*t)./t;
p>
plot(t,x1,’r’,t,x2,’g’);
a = [0.3 0.17];
b = [0.75 0.7];
annotation(‘textarrow’,a,b,’String’,’f = 1′);
annotation(‘textarrow’,[0.35 0.25],[0.5 0.39],’ String’, ‘f = 0.5’);
注释
设置图形窗口添加矩形注释。 annotation(‘rectangle’,[x y w h])% 创建一个矩形注释对象。
图
data = [2 4 6 7 8 7 5 2];
stem(data)
dim = [. 3 .68 .2 .2];
annotation(‘rectangle’,dim,’Color’,’red’)
感谢您的检查!