网站首页 > 资源文章 正文
前面有一章介绍了MATLAB在一张图片中用不同颜色绘制多条曲线的几个方法。今天我们再介绍一下在画图时使用不同的线型、点及标记等。
一、 线型、连续标记
先从最普通的说起。在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('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')
谢谢查看!
猜你喜欢
- 2024-10-01 搞定电路设计之适于树莓派的±10V模拟输入和±15V模拟输出I/O模块
- 2024-10-01 MATLAB的简单使用(matlab简单用法)
- 2024-10-01 Matlab精彩绘图示例和代码分享(matlab绘制好看的图)
- 2024-10-01 Matlab中的基本数据类型介绍(matlab概述及基本数值运算)
- 2024-10-01 有关在matlab中对信号采样及频谱的一些解释;复数的频谱,高分辨率谱,高密度谱的一些理解
- 2024-10-01 你写过哪些比较酷的 Matlab 代码?十行以内
- 2024-10-01 Matlab 2016b详细安装步骤(matlab2016a的安装教程)
- 2024-10-01 matlab内存不足的解决方法(matlab内存不足怎么办)
- 2024-10-01 MATLAB基础学习之绘图操作(一)(matlab绘图教程详细)
- 2024-10-01 地球抛物与宇宙速度的MATLAB数值解法(ode45)
你 发表评论:
欢迎- 05-1430个在线地图瓦片URL分享
- 05-1425个在线地图瓦片URL分享
- 05-14PixelStyle for Mac(mac照片编辑器)
- 05-14一篇文章带你了解CSS3 3D 转换知识
- 05-14我们的世界是假的?马斯克:我们生活在高文明模拟的矩阵游戏中
- 05-14【视觉AI的基石】斯坦福大学笔记!带你吃透卷积神经网络 (CNN)
- 05-14潮流 | 通过AAPE的新价目,无虑入荷未来主义服饰
- 05-14身份证查询服务API:准确识别身份证信息
- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)