🔗 运行环境:Matlab
🚩 撰写作者:左手の明天
💗 大家好🤗🤗🤗,我是左手の明天!💗
📆 最近更新:2022 年 7 月 12 日,左手の明天的原创公众号【全栈技术专区】
🚩图添加标题和轴标签
⭐️创建简单的线图
创建 x
,它是 100 个介于 −2π 和 2π 之间的线性间隔值。将 y1
和 y2
创建为 x
的正弦和余弦值。绘制两组数据。
x = linspace(-2*pi,2*pi,100);
y1 = sin(x);
y2 = cos(x);
figure
plot(x,y1,x,y2)
⭐️添加标题
使用 title
函数向图中添加标题。要显示希腊符号 π,请使用 TeX 标记 \pi
。
title('Line Plot of Sine and Cosine Between -2\pi and 2\pi')
⭐️添加坐标轴标签
使用 xlabel
和 ylabel
函数向图中添加轴标签。
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
函数的名称-值对组参数,指定文本的字体大小。使用 title
、xlabel
、ylabel
或 legend
函数时,可以通过类似的方法更改字体大小。
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
对象具有可用来自定义文本外观的属性,例如 HorizontalAlignment
或 FontSize
。
您可以通过两种方式设置属性:
在 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: 10
FontWeight: 'normal'
FontName: 'Helvetica'
Color: [0 0 0]
HorizontalAlignment: 'left'
Position: [3.1416 1.2246e-16 0]
Units: 'data'
Show all properties
t.FontSize = 14;
⭐️多行文本
使用字符向量元胞数组显示跨越多行的文本。元胞数组的每个元素代表一行文本。对于此示例,显示包含两行的标题。使用 title
、xlabel
、ylabel
或 legend
函数时,可以通过类似的方法显示多行文本。
x = linspace(0,10,50);
y = sin(x);
plot(x,y)
txt = {'Plotted Data:','y = sin(x)'};
text(4,0.5,txt)
⭐️带有变量值的文本
通过使用 num2str
函数将数字转换为文本,可在文本中包含变量值。对于此示例,计算均值 y 并在标题中包含该值。使用 title
、xlabel
、ylabel
或 legend
函数时,可以通过类似的方法包含变量值。
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);
figure
plot(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'
时,支持的修饰符如下所示。
修饰符 | 说明 | 示例 |
---|
^{ } | 上标 | 'text^{superscript}' |
_{ } | 下标 | 'text_{subscript}' |
\bf | 粗体 | '\bf text' |
\it | 斜体 | '\it text' |
\sl | 伪斜体(通常与斜体相同) | '\sl text' |
\rm | 常规字体 | '\rm text' |
\fontname{specifier } | 字体名称 - 将 specifier 替换为字体系列的名称。您可以将此说明符与其他修饰符结合使用。 | '\fontname{Courier} text' |
\fontsize{specifier } | 字体大小 - 将 specifier 替换为以磅为单位的数值标量值。 | '\fontsize{15} text' |
\color{specifier } | 字体颜色 - 将 specifier 替换为以下颜色之一:red 、green 、yellow 、magenta 、blue 、black 、white 、gray 、darkGreen 、orange 或 lightBlue 。 | '\color{magenta} text' |
\color[rgb]{specifier} | 自定义字体颜色 - 将 specifier 替换为三元素 RGB 三元组。 | '\color[rgb]{0,0.5,0.5} text' |
下表列出了 'tex'
解释器所支持的特殊字符。
字符序列 | 符号 | 字符序列 | 符号 | 字符序列 | 符号 |
---|
\alpha
| α | \upsilon
| υ | \sim
| ~ |
\angle
| ∠ | \phi
| | \leq
| ≤ |
\ast
| *
| \chi
| χ | \infty
| ∞ |
\beta
| β | \psi
| ψ | \clubsuit
| ♣ |
\gamma
| γ | \omega
| ω | \diamondsuit
| ♦ |
\delta
| δ | \Gamma
| Γ | \heartsuit
| ♥ |
\epsilon
| ϵ | \Delta
| Δ | \spadesuit
| ♠ |
\zeta
| ζ | \Theta
| Θ | \leftrightarrow
| ↔ |
\eta
| η | \Lambda
| Λ | \leftarrow
| ← |
\theta
| θ | \Xi
| Ξ | \Leftarrow
| ⇐ |
\vartheta
| ϑ | \Pi
| Π | \uparrow
| ↑ |
\iota
| ι | \Sigma
| Σ | \rightarrow
| → |
\kappa
| κ | \Upsilon
| ϒ | \Rightarrow
| ⇒ |
\lambda
| λ | \Phi
| Φ | \downarrow
| ↓ |
\mu
| µ | \Psi
| Ψ | \circ
| º |
\nu
| ν | \Omega
| Ω | \pm
| ± |
\xi
| ξ | \forall
| ∀ | \geq
| ≥ |
\pi
| π | \exists
| ∃ | \propto
| ∝ |
\rho
| ρ | \ni
| ∍ | \partial
| ∂ |
\sigma
| σ | \cong
| ≅ | \bullet
| • |
\varsigma
| ς | \approx
| ≈ | \div
| ÷ |
\tau
| τ | \Re
| ℜ | \neq
| ≠ |
\equiv
| ≡ | \oplus
| ⊕ | \aleph
| ℵ |
\Im
| ℑ | \cup
| ∪ | \wp
| ℘ |
\otimes
| ⊗ | \subseteq
| ⊆ | \oslash
| ∅ |
\cap
| ∩ | \in
| ∈ | \supseteq
| ⊇ |
\supset
| ⊃ | \lceil
| ⌈ | \subset
| ⊂ |
\int
| ∫ | \cdot
| · | \o
| ο |
\rfloor
| ⌋ | \neg
| ¬ | \nabla
| ∇ |
\lfloor
| ⌊ | \times
| x | \ldots
| ... |
\perp
| ⊥ | \surd
| √ | \prime
| ´ |
\wedge
| ∧ | \varpi
| ϖ | \0
| ∅ |
\rceil
| ⌉ | \rangle
| 〉 | \mid
| | |
\vee
| ∨ | \langle
| 〈 | \copyright
| © |
例如,绘制 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 title
str = 'Estimates $\hat{\psi_1}$ and $\hat{\psi_2}$';
title(str,'Interpreter','latex')
% Add legend
label1 = '$\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;
figure
plot(x,f)
hold on
plot(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.5000
Position: [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: 10
Color: [0 0 0]
TextColor: [0 0 0]
LineStyle: '-'
LineWidth: 0.5000
HeadStyle: '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];