失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 【Matlab绘图要点汇总】Matlab图中添加图例+添加轴标签+添加文本+添加注释

【Matlab绘图要点汇总】Matlab图中添加图例+添加轴标签+添加文本+添加注释

时间:2023-08-14 22:25:18

相关推荐

【Matlab绘图要点汇总】Matlab图中添加图例+添加轴标签+添加文本+添加注释

🔗运行环境:Matlab

🚩撰写作者:左手の明天

🥇精选专栏:《python》

🔥推荐专栏:《算法研究》

💗 大家好🤗🤗🤗,我是左手の明天!💗

📆 最近更新: 年 6 月 4 日,左手の明天的第254篇原创博客

📚更新于专栏:Matlab GUI编程技巧

目录

🚩图添加标题和轴标签

⭐️创建简单的线图

⭐️添加标题

⭐️添加坐标轴标签

⭐️添加图例

⭐️更改字体大小

⭐️带有变量值的标题

🚩图中添加文本

⭐️文本位置

⭐️文本对齐方式

⭐️字体大小

⭐️设置文本属性

⭐️多行文本

⭐️带有变量值的文本

⭐️坐标区外部的文本

⭐️图文本中的希腊字母和特殊字符

🚩图中添加注释

⭐️注释的类型

⭐️创建简单的图

⭐️圆圈注释

⭐️文本箭头注释

🚩图添加标题和轴标签

⭐️创建简单的线图

创建x,它是 100 个介于−2π和2π之间的线性间隔值。将y1y2创建为x的正弦和余弦值。绘制两组数据。

x = linspace(-2*pi,2*pi,100);y1 = sin(x);y2 = cos(x);figureplot(x,y1,x,y2)

⭐️添加标题

使用title函数向图中添加标题。要显示希腊符号π,请使用 TeX 标记\pi

title('Line Plot of Sine and Cosine Between -2\pi and 2\pi')

⭐️添加坐标轴标签

使用xlabelylabel函数向图中添加轴标签。

xlabel('-2\pi < x < 2\pi') ylabel('Sine and Cosine Values')

⭐️添加图例

使用legend函数向图中添加标识每个数据集的图例。按照绘制线条的顺序指定图例说明。(可选)使用八个基本或斜角方位之一指定图例位置,在本例中为'southwest'

legend({'y = sin(x)','y = cos(x)'},'Location','southwest')

⭐️更改字体大小

Axes对象具有可用来自定义坐标区外观的属性。例如,FontSize属性控制标题、标签和图例的字体大小。

使用gca函数访问当前Axes对象。然后使用圆点表示法设置FontSize属性。

ax = gca;ax.FontSize = 13;

⭐️带有变量值的标题

通过使用num2str函数将值转换为文本,可在标题文本中包含变量值。您可以使用类似的方法为轴标签或图例条目添加变量值。

添加带有sin(π)/2值的标题。

k = sin(pi/2);title(['sin(\pi/2) = ' num2str(k)])

🚩图中添加文本

⭐️文本位置

使用text函数在特定数据点旁边添加文本。在本例中,为点(π,sin(π))添加文本。text函数的前两个输入参数指定位置。第三个参数指定了文本。

默认情况下,text 支持一部分 TeX 标记。使用 TeX 标记\pi表示希腊字母π。通过包含 TeX 标记\leftarrow,显示一个指向左侧的箭头。

x = linspace(0,10,50);y = sin(x);plot(x,y)txt = '\leftarrow sin(\pi) = 0';text(pi,sin(pi),txt)

⭐️文本对齐方式

默认情况下,指定的数据点位于文本的左侧。通过将HorizontalAlignment属性指定为'right',使数据点出现在文本右侧。使用指向右侧而不是左侧的箭头。

x = linspace(0,10,50);y = sin(x);plot(x,y)txt = 'sin(\pi) = 0 \rightarrow';text(pi,sin(pi),txt,'HorizontalAlignment','right')

⭐️字体大小

通过将FontSize属性设置为text函数的名称-值对组参数,指定文本的字体大小。使用titlexlabelylabellegend函数时,可以通过类似的方法更改字体大小。

x = linspace(0,10,50);y = sin(x);plot(x,y)txt = '\leftarrow sin(\pi) = 0';text(pi,sin(pi),txt,'FontSize',14)

⭐️设置文本属性

text 函数用于创建 Text 对象。Text对象具有可用来自定义文本外观的属性,例如HorizontalAlignmentFontSize

您可以通过两种方式设置属性:

text命令中使用名称-值对组,例如'FontSize',14

使用Text对象。您可以将Text对象作为text函数的输出参数返回,并将其赋给某个变量,例如t。然后,使用圆点表示法设置属性,例如t.FontSize = 14

对于此示例,使用圆点表示法而不是名称-值对组来更改字体大小。

x = linspace(0,10,50);y = sin(x);plot(x,y)txt = '\leftarrow sin(\pi) = 0';t = text(pi,sin(pi),txt)t = Text (\leftarrow sin(\pi) = 0) with properties:String: '\leftarrow sin(\pi) = 0'FontSize: 10FontWeight: 'normal'FontName: 'Helvetica'Color: [0 0 0]HorizontalAlignment: 'left'Position: [3.1416 1.2246e-16 0]Units: 'data'Show all properties

t.FontSize = 14;

⭐️多行文本

使用字符向量元胞数组显示跨越多行的文本。元胞数组的每个元素代表一行文本。对于此示例,显示包含两行的标题。使用titlexlabelylabellegend函数时,可以通过类似的方法显示多行文本。

x = linspace(0,10,50);y = sin(x);plot(x,y)txt = {'Plotted Data:','y = sin(x)'};text(4,0.5,txt)

⭐️带有变量值的文本

通过使用num2str函数将数字转换为文本,可在文本中包含变量值。对于此示例,计算均值y并在标题中包含该值。使用titlexlabelylabellegend函数时,可以通过类似的方法包含变量值。

x = linspace(0,10,50);y = sin(x);plot(x,y)avg = mean(y);txt = ['Average height: ' num2str(avg) ' units'];text(4,0.5,txt)

⭐️坐标区外部的文本

使用annotation函数而不是text函数,可在图窗内的任何位置添加文本。第一个输入参数指定注释的类型。第二个输入参数以归一化的图窗单位指定注释的位置。通过将EdgeColor属性设置为'none',删除文本框边框。

x = linspace(0,10,50);y = sin(x);plot(x,y)annotation('textbox',[.9 .5 .1 .2], ...'String','Text outside the axes','EdgeColor','none')

⭐️图文本中的希腊字母和特殊字符

创建一个线图并向图中添加标题和轴标签。使用^字符在标题上显示上标。^字符会修改紧随其后的字符。用花括号{}包含多个字符以将这些字符放入上标中。分别使用 TeX 标记\alpha\mu在文本中包含希腊字母α和μ。

t = 1:900;y = 0.25*exp(-0.005*t);figureplot(t,y)title('Ae^{\alphat} for A = 0.25 and \alpha = -0.0005')xlabel('Time')ylabel('Amplitude')

t = 300处的数据点添加文本。使用 TeX 标记\bullet向指定点添加标记,并使用\leftarrow包含一个指向左侧的箭头。默认情况下,指定的数据点位于文本的左侧。

txt = '\bullet \leftarrow 0.25t e^{-0.005t} at t = 300';text(t(300),y(300),txt)

MATLAB 支持部分 TeX 标记。使用 TeX 标记可添加上标和下标、修改文本类型和颜色以及包含特殊字符。只要文本对象的Interpreter属性设置为'tex'(默认值),MATLAB 便会解释 TeX 标记。

修饰符会一直作用到文本结尾,但上标和下标除外,因为它们仅修饰下一个字符或花括号中的字符。当您将解释器设置为'tex'时,支持的修饰符如下所示。

下表列出了'tex'解释器所支持的特殊字符。

例如,绘制y=x^2sin(x)并在x=2处绘制一条垂直线。使用 LaTeX 标记向图中添加包含积分表达式的文本。要在显示模式下显示表达式,请用双美元符号 ($$) 将标记括起来。调用text函数时,请将Interpreter属性设置为'latex'

x = linspace(0,3);y = x.^2.*sin(x);plot(x,y)line([2,2],[0,2^2*sin(2)])str = '$$ \int_{0}^{2} x^2\sin(x) dx $$';text(1.1,0.5,str,'Interpreter','latex')

通过调用xticks函数,将x轴刻度值设置为pi的倍数。然后,调用gca函数以获取当前坐标区,并将TicklabelInterpreter属性设置为'latex'。使用 LaTeX 标记指定刻度标签。对于行内表达式,请用单个美元符号 ($) 括起标记。

x = -10:0.1:10;y = [sin(x); cos(x)];plot(x,y)xticks([-3*pi -2*pi -pi 0 pi 2*pi 3*pi])ax = gca;ax.TickLabelInterpreter = 'latex';xticklabels({'$-3\pi$','$-2\pi$','$-\pi$','0', '$\pi$','$2\pi$','$3\pi$'});

通过调用title函数并将Interpreter属性设置为'latex',添加包含 LaTeX 标记的标题。同样,创建一个标签包含 LaTeX 标记的图例。

% Add titlestr = 'Estimates $\hat{\psi_1}$ and $\hat{\psi_2}$';title(str,'Interpreter','latex')% Add legendlabel1 = '$\hat{\psi_1}$';label2 = '$\hat{\psi_2}$';legend(label1,label2,'Interpreter','latex')

🚩图中添加注释

⭐️注释的类型

使用annotation函数可以向图中添加注释。函数的第一个输入指定要创建的注释的类型。

如果将类型指定为'line''arrow''doublearrow''textarrow',则第二个输入是注释的起点和终点x位置。第三个输入是注释的起点和终点y位置。例如,annotation('line',[x_begin x_end],[y_begin y_end])

如果将类型指定为'rectangle''ellipse''textbox',则第二个参数是位置和大小。例如,annotation('rectangle',[x y w h])

注释使用归一化的图窗单位,并且可以在一个图窗中跨越多个坐标区。

⭐️创建简单的图

定义和绘制函数f(x)g(x)

x = -3.0:0.01:3.0;f = x.^2;g = 5*sin(x) + 5;figureplot(x,f) hold onplot(x,g) hold off

⭐️圆圈注释

在图中添加一个圆圈,以突出显示f(x)等于g(x)的位置。要创建圆圈,请使用'ellipse'选项作为注释类型。

通过设置底层对象的属性来自定义圆圈。将Ellipse对象作为annotation函数的输出参数返回。然后,使用圆点表示法访问对象的属性。例如,设置Color属性。

elps = annotation('ellipse',[.84 .68 .05 .05])elps = Ellipse with properties:Color: [0 0 0]FaceColor: 'none'LineStyle: '-'LineWidth: 0.5000Position: [0.8400 0.6800 0.0500 0.0500]Units: 'normalized'Show all properties

elps.Color = [0 0.5 0.5];

⭐️文本箭头注释

使用'textarrow'选项作为注释类型,向图中添加一个文本箭头。

您可以通过设置底层对象的属性来自定义文本箭头。将TextArrow对象作为annotation函数的输出参数返回。然后,使用圆点表示法访问对象的属性。例如,将String属性设置为所需的文本,将Color属性设置为颜色值。

ta = annotation('textarrow', [0.76 0.83], [0.71 0.71])

ta = TextArrow with properties:String: {''}FontName: 'Helvetica'FontSize: 10Color: [0 0 0]TextColor: [0 0 0]LineStyle: '-'LineWidth: 0.5000HeadStyle: 'vback2'Position: [0.7600 0.7100 0.0700 0]Units: 'normalized'X: [0.7600 0.8300]Y: [0.7100 0.7100]Show all properties

ta.String = 'f(x) = g(x) '; ta.Color = [0 0.5 0.5];

🌟全文共 6736 个字,码字总结不易,老铁们来个三连:点赞、关注、评论🌟

🌟作者:左手の明天🌟

🌟原创不易,转载请联系作者并注明出处🌟

如果觉得《【Matlab绘图要点汇总】Matlab图中添加图例+添加轴标签+添加文本+添加注释》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。