MATLAB_figure绘图 使用Matlab较多的小伙伴们不知道是否像我一样对Matlab/Simulink中的绘图比较头疼,希望撰写此篇,和大家共同进步,实现知识共享。 一、线条的设置 1.线型–‘LineStyle’ 在MATLAB中,线型的表示一般是包含符号的字符向量或字符串。
常见线型及其说明 仿真程序–线型设置: 仿真结果–线型设置:
仿真结果–线型设置 2.标记符号–‘Marker’ 在MATLAB中,标记的表示一般是包含符号的字符向量或字符串。
常见标记及其说明 标记符号在使用的时候经常会配合使用下面几个点 (1)MarkerIndices –要显示标记的数据点的索引 有三种形式:1: n :length(YData) (默认) — 每隔n个数据点显示一个标记。 正整数向量[n1 n2 n3 ……] — 在第n1、第n2和第n3个数据点处显示标记。 正整数标量n — 在第n个数据点处显示标记。 程序示例: 程序运行结果:
程序运行结果–标记符号设置 (2)MarkerSize – 标记大小 在MATLAB中默认的大小是6,可以根据需要设置任意的数值。程序中的设置方式类似MarkerIndices 。 (3)MarkerEdgeColor – 标记轮廓颜色 设置的具体颜色可以参考下面的线条颜色。程序中的设置方式类似MarkerIndices 。 (4)MarkerFaceColor – 标记填充颜色 设置的具体颜色可以参考下面的线条颜色。程序中的设置方式类似MarkerIndices 。 3.线条颜色–‘Color’ 在MATLAB中,颜色的表示一般是包含符号的字符向量或字符串。 线条颜色,指定为颜色名称、短名称、十六进制颜色代码或者RGB三组。 颜色名称就是颜色的英文单词,比如’blue’、’green’、’red’等 短名称就是颜色的代号,一般是颜色名称的首字母,比如’b’、’g’、’r’等。 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0 到 F。这些值不区分大小写。因此,颜色代码 ‘#FF8800’ 与 ‘#ff8800’、’#F80’ 与 ‘#f80’ 是等效的。 RGB 三组是包含三个素的行向量,其素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]。
颜色名称、短名称、十六进制颜色代码和RGB三组的对应图
MATLAB®在许多类型的绘图中使用的默认颜色的 RGB 三组和十六进制颜色代码 ~~备注1:上述表格同一行的代码都是一一对应的,在绘图过程中,使用同一种颜色的颜色名称、短名称、十六进制颜色代码或者RGB三组效果是相同的。 ~~备注2:不局限于表格中的颜色,还有很多颜色的代码,任何颜色都可以在PPT中的“颜色自定义”按照下面图示方法能找到对应的十六进制代码。(当然如果你要对一组曲线进行对比,需要很好的审美视觉感受时,可以使用CSDN等搜索引擎,有大佬整理了各种颜色对比组,你可以选择适合自己进行应用)
PPT中的“颜色自定义”
各种颜色对应的十六进制代码 仿真测试—-线条颜色设置 仿真结果—-线条颜色设置
仿真结果—-线条颜色设置 仿真测试—-同一种线条颜色的四条表现形式(颜色名称、短名称、十六进制颜色代码或者RGB三组) 仿真结果—-同一种线条颜色的四条表现形式(颜色名称、短名称、十六进制颜色代码或者RGB三组)
仿真结果—-同一种线条颜色的四条表现形式 4.线宽–LineWidth MATLAB中默认是0.5。 参考资料: 二、字体的设置 1.文本字符的解释–Interpreter(tex标记&latex标记) MATLAB中有三种文本字符:’tex’ – 使用 TeX 标记子集解释字符。同时也是MATLAB中的默认格式 ’latex’ – 使用 LaTeX 标记解释字符。 ’none’ – 显示字面字符 (1)tex标记 使用 tex 标记可添加下标和上标,修改字体类型和颜色,并在文本中包括特殊字符。
tex标记的常见修饰符
tex标记的特殊字符 (2)latex标记 要使用latex标记,请将 Interpreter 属性设置为 ‘latex’。使用美符号将文本括起来,例如,对于内联模式,使用 ‘$\int_1^{20} x^2 dx$’;对于显示模式,使用 ‘$$\int_1^{20} x^2 dx$$’。 ~~温馨提示:latex在使用过程中一定要区分开两种反斜杠——/和\,复杂符号的latex表示可以直接在网上查,不用特意去系统学习。 程序示例: 程序运行结果:
文本设置前后对比图 2.文本位置 这里我曾经用过一种,暂时就先写这一种吧! VerticalAlignment – 相对于位置点垂直对齐文本:可以用来微调xlabel和ylabel的位置
相对于位置点垂直对齐文本的几种设置 这个功能太小了,因此这里就不特意做一个程序来直观表示了,有需要的评论区call我。 3.字体名称–FontName “ 字体名称”常见可以设置为’Times New Roman’、‘宋体’等形式。具体字体名称设置的种类可以利用如下图所示的方法进行查看。
具体字体名称设置的种类查看方法 如果需要同时输出使用不同类型的“字体名称”,比如文字加上字母。程序可以参考下面例子。 程序示例: 程序运行结果:
4.字体大小–FontSize “字体大小”可以使用大于0的标量值来进行设置。 5.字符粗细–FontWeight “字符粗细”在MATLAB中有两种形式,指定为 ‘normal’ 或 ‘bold’。默认是 ‘normal’形式。 ~~备注:并非所有字体都有加粗字体。 6.字体颜色 参考线条颜色 程序示例: 程序运行结果:
字体设置前后对比图 参考资料: 三、非常useful的一些绘图应用 1.将Simulink中的Scope的图像导入figure的步骤。 (1)首先对Scope进行设置,如下图所示。
Scope模块示意图
Scope模块设置示意图 (2)仿真实例 在Sinmulink中搭建如图所示的框图,并运行程序,在Scope中得到如下图像。
Sinmulink搭建仿真模型
仿真后Scope中的图像 (3)编写matlab程序 ~~备注:ScopeData对应”Scope模块设置示意图”中设置3处的”Variable name”,这个可以自行命名,只要保证前后能够对应上即可。 (4)仿真结果 将程序复制粘贴到编辑器中并运行,可以将Scope图像转换到figure中,如下图所示。这样一来,就方便在figure中来进行后续进一步的图像操作了。
仿真结果—-线条颜色设置 2.设置坐标区的位置和大小 MATLAB中设置Figure的位置和大小主要使用的语句是 程序说明:gca表示“当前坐标区和图” left、bottom–从图窗左下角到位置边界左下角之间的距离。 width、height–位置边界维度。 ~~备注:MATLAB自带的解释比较抽象,可以借助下图进行理解。
另外设置坐标区的位置和大小还可以使用下面这个语句。 程序示例: 程序运行结果:(坐标区位置大小设置前后对比)
坐标区的位置和大小设置前
坐标区的位置和大小设置后 参考资料:help文档中的“Axes属性”—-“Position -大小和位置,不包括标签边距” 3.设置Figure的位置和大小 MATLAB中设置Figure的位置和大小主要使用的语句是 程序说明:gcf表示“当前图窗的句柄” left–从主画面左边缘到窗口的内部左边缘的距离。 bottom–从主画面下边缘到窗口的内部下边缘的距离。 width–figure 窗口的左右内部边缘之间的距离。 height–figure 窗口的上下内部边缘之间的距离。 个人使用经验:这里的left和bottom主要是用来确定figure图窗在Window的位置,个人觉得此项功能在于主要是将figure放在一个方便用来调试的位置,width和height才是用来确定figure图窗的大小。个人经验width和height中的1对应word中0.0264cm。 ~~备注:此语句不可直接运行,需要设置[left bottom width height]中的参数后才能进行运行。[left bottom width height]图像表示如下所示。
Figure的[left bottom width height]的图像表示 程序表示: 将程序运行得到的figure复制到word如下所示。
升级版本:figure的大小在程序中可以直接用“厘米”作为单位进行设置,就不用再进行换算了。 程序表示: 将程序运行得到的figure复制到word后的结果和上图中的结果相同,但是设置起来更加方便,减少了换算的步骤。 参考资料:help文档中的“Figure属性”—-“Position – 可绘制区域的位置和大小” 4.修改x轴和y轴的坐标范围 (1)修改x轴的坐标范围 (2)修改y轴的坐标范围 (3)限制x轴和y轴的坐标范围 5.legend的位置设置 经常用的是legend的定位功能
6.Figure中的相关属性的手动操作 有的时候为了方便或者应急,可以不利用M语言编写程序来对Figure中的相关属性进行操作,直接利用Figure自带的功能进行操作,Figure的界面中有很多的功能,下图给出了一种:首先“箭头”,选中图的标题“y=x”,右键就会出现很多选项,这里就可以实现对于标题的文本颜色、字体等的设置。同理,可以对线型、x和y轴的标签进行相应的设置。
Figure中对图题的手动操作 7.subplot及其子图位置设置、去白边 提前预告一下,~~有时间再更新。。。 8.局部放大图 当遇到一个图像很密集,看不清局部特征,不能直观地根据图像给出结论的时候,需要利用局部放大功能来对图像进行处理。 程序示例: 程序运行结果 在局部放大之前,白噪声图像很密集,如下所示。
原始白噪声图像 经过局部放大之后,若想提取横坐标为100-110之间的图像,利用上面程序,运行结果如下。
原始白噪声图像局部放大之后的结果 四、本文主要参考资料 Line属性–基本线条的外观和行为 Text属性–坐标区文本的外观和行为 Axes属性–坐标区的外观和行为 FIgure属性–控制图窗窗口的外观和行为 以上内容都是在学习MATLAB自带的help文件之后总结的,因此,详情以及功能扩展可以参见MATLAB自带的help文件,真的YYDS! 有好的问题或者文章中有不严谨和错误的地方,都欢迎大家可以在评论区评论,我们共同学习探讨!共同进步! 持续更新中,未完待续。。。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/57825.html