MATLAB画图使用不同的线型、点及标记

转载自:MATLAB画图使用不同的线型、点及标记 (baidu.com)

一、 线型、连续标记

先从最普通的说起。在plot函数中指定线型。

t=linspace(0,5,20);

x1 = t;

x2 = 2*t;

x3 = 3*t;

x4 = 4*t;

plot(t,x1,'b',t,x2,'g-o',t,x3,'r*',t,x4,'c:d');

这是基础的比较简单的情况。不做太多叙述。matlab提供的线型、颜色和标记符如下表:

如果指定了标记符号但未指定线型,则 plot 仅显示无线条连接的标记。

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*');

两组数据比较

可以通过名称-值对组参数来设置标记属性,自定义标记。

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、text添加文字说明

t=linspace(0,5,100);

A = 1;

f= 1;

x1 = A * sin(2*pi*f*t)./t;

plot(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('输入内容'),然后在图片上点击鼠标确定标记位置。

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之间,整个figure窗口左下角为(0, 0),右上角为(1, 1)。

close all;

t=linspace(0,5,100);

A = 1;

f= 1;

x1 = A * sin(2*pi*f*t)./t;

x2= A * sin(2*pi*0.5*t)./t;

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

设置图窗添加矩形注释。annotation('rectangle',[x y w h])% 建立矩形注释对象。

figure

data = [2 4 6 7 8 7 5 2];

stem(data)

dim = [.3 .68 .2 .2];

annotation('rectangle',dim,'Color','red')

### MATLAB中的线条样式及其用法 在MATLAB中,可以通过指定线型参数来定义绘图对象的外观。以下是常见的线型样式以及它们的具体用法: #### 常见线型样式 | 线型 | 描述 | |------|--------------------------| | `-` | 实线(默认) | | `--` | 双划线 | | `:` | 线 | | `-.` | 划线 | 每种线型都可以通过设置 `'LineStyle'` 属性来进行配置[^1]。 #### 使用方法 在线条绘制函数(如 `plot` 或 `line`)中,可以传递第三个字符串参数或者显式设定属性值以应用特定的线型。例如: ```matlab % 绘制不同类型的线条 x = linspace(0, 2*pi); y1 = sin(x); y2 = cos(x); figure; hold on; % 使用实线 plot(x, y1, '-', 'DisplayName', 'Sine'); % 使用双划线 plot(x, y2, '--', 'DisplayName', 'Cosine'); % 设置其他图形属性 legend show; grid on; ``` 上述代码展示了如何利用不同线型区分两条曲线,并通过图例标注其含义。 #### 结合颜色与标记符 除了更改线型外,还可以同时调整颜色 (`Color`) 和数据标记 (`Marker`) 来增强可视化效果。完整的语法形式如下所示: ```matlab plot(x, y, 'k--o') ``` 这里分别表示黑色(`k`)、虚线(`--`)并带有圆形标记(`o`)的一组数据序列[^2]。 #### 动态修改现有线条属性 如果已经创建了一个图表,则可通过获取句柄的方式动态更新其中某一线段的相关特性: ```matlab hLine = plot(x,y,'-'); set(hLine, 'LineStyle','-.'); % 改变该线条为划线 drawnow(); % 刷新显示界面以便立即看到变化 ``` 以上即是对MATLAB里支持的各种基本线条样式的介绍及其实现途径说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值