简介
本文将介绍matplotlib关于字体设置部分,包括全局字体设置,向图中添加文字的方法,LaTeX等。
全局字体
通过全局字体设置可以改变字体的大小和类型:
1 2 |
from matplotlib import rcParams rcParams.update({'font.size': 18, 'font.family': 'serif'}) |
添加文字
1 2 3 |
ax.text(0.15, 0.2, r"$y=x^2$", fontsize=20, color="blue") # 或 plt.text(0.15, 0.2, r"$y=x^2$", fontsize=20, color="blue") |
0.15表示x轴起始位置,0.2表示y轴起始位置,添加的文字为“y=x2”,字体大小为20,颜色为蓝色。
LaTeX
LaTeX是指有时候我们需要产生诸如α、β这样的字符或者数学表达式时就需要使用LaTeX,幸运的是matplotlib可以很好的支持LaTeX表达式,只需将其放入两个 $ 之间。比如:
1 |
>>>plt.title(r'$\alpha > \beta$') |
产生“α>β”。加上字符 r 的目的是为了使用原始文本,避免反斜杠字符串引起出错。
下标和上标
要制作下标和上标,请使用“_”和“^”符号:
1 |
r'$\alpha_i > \beta_i$' |
得到
某些符号会自动将其下标、上标放在运算符下方和上方。例如,要编写一个求和公式,可以执行以下操作:
1 |
r'$\sum_{i=0}^\infty x_i$' |
得到
分数,二项式和堆积数
可以使用 \frac{}{} , \binom{}{} 和 \stackrel{}{} 命令分别创建分数、二项式和堆积数:
1 |
r'$\frac{3}{4} \binom{3}{4} \stackrel{3}{4}$' |
得到
分数还可以任意嵌套:
1 |
r'$\frac{5 - \frac{1}{x}}{4}$' |
得到
需要注意的是如果我们想加上括号,以下面的方式会得到太小的括号:
1 |
r'$(\frac{5 - \frac{1}{x}}{4})$' |
得到
因此需要在括号前面加上 \left 和 \right 来告诉解析器这些括号包含整个对象:
1 |
r'$\left(\frac{5 - \frac{1}{x}}{4}\right)$' |
得到
开根号
可以使用 \sqrt[]{} 命令生成开根号。例如:
1 |
r'$\sqrt{2}$' |
得到
我们也可以指定开n次方根:
1 |
r'$\sqrt[3]{x}$' |
得到
字体
数学符号的默认字体是斜体。
要更改字体,例如,以罗马字体写“sin”,将文本括在font命令中:
1 |
r'$s(t) = \mathcal{A}\mathrm{sin}(2 \omega t)$' |
得到
所有字体可用的选项:
Command | Result |
---|---|
\mathrm{Roman} |
![]() |
\mathit{Italic} |
![]() |
\mathtt{Typewriter} |
![]() |
\mathcal{CALLIGRAPHY} |
![]() |
使用STIX字体时,您还可以选择:
Command | Result |
---|---|
\mathbb{blackboard} |
![]() |
\mathrm{\mathbb{blackboard}} |
![]() |
\mathfrak{Fraktur} |
![]() |
\mathsf{sansserif} |
![]() |
\mathrm{\mathsf{sansserif}} |
![]() |
音调
音调命令可以在任何符号上方添加音调。其中一些有长短形式:
Command | Result |
---|---|
\acute a or \'a |
![]() |
\bar a |
![]() |
\breve a |
![]() |
\ddot a or \"a |
![]() |
\dot a or \.a |
![]() |
\grave a or `a |
![]() |
\hat a or \^a |
![]() |
\tilde a or \~a |
![]() |
\vec a |
![]() |
\overline{abc} |
![]() |
符号
您还可以使用大量的TeX符号,如 \infty , \leftarrow , \sum , \int 。
小写希腊语:
![]() \alpha |
![]() \beta |
![]() \chi |
![]() \delta |
![]() \digamma |
![]() \epsilon |
![]() \eta |
![]() \gamma |
![]() \iota |
![]() \kappa |
![]() \lambda |
![]() \mu |
![]() \nu |
![]() \omega |
![]() \phi |
![]() \pi |
![]() \psi |
![]() \rho |
![]() \sigma |
![]() \tau |
![]() \theta |
![]() \upsilon |
![]() \varepsilon |
![]() \varkappa |
![]() \varphi |
![]() \varpi |
![]() \varrho |
![]() \varsigma |
![]() \vartheta |
![]() \xi |
![]() \zeta |
大写希腊语:
![]() \Delta |
![]() \Gamma |
![]() \Lambda |
![]() \Omega |
![]() \Phi |
![]() \Pi |
![]() \Psi |
![]() \Sigma |
![]() \Theta |
![]() \Upsilon |
![]() \Xi |
![]() \mho |
![]() \nabla |
希伯来语:
![]() \aleph |
![]() \beth |
![]() \daleth |
![]() \gimel |
分隔符:
![]() / |
![]() [ |
![]() \Downarrow |
![]() \Uparrow |
![]() \Vert |
![]() \backslash |
![]() \downarrow |
![]() \langle |
![]() \lceil |
![]() \lfloor |
![]() \llcorner |
![]() \lrcorner |
![]() \rangle |
![]() \rceil |
![]() \rfloor |
![]() \ulcorner |
![]() \uparrow |
![]() \urcorner |
![]() \vert |
![]() \{ |
![]() \| |
![]() \} |
![]() ] |
![]() | |
大符号:
![]() \bigcap |
![]() \bigcup |
![]() \bigodot |
![]() \bigoplus |
![]() \bigotimes |
![]() \biguplus |
![]() \bigvee |
![]() \bigwedge |
![]() \coprod |
![]() \int |
![]() \oint |
![]() \prod |
![]() \sum |
标准函数名称:
![]() \Pr |
![]() \arccos |
![]() \arcsin |
![]() \arctan |
![]() \arg |
![]() \cos |
![]() \cosh |
![]() \cot |
![]() \coth |
![]() \csc |
![]() \deg |
![]() \det |
![]() \dim |
![]() \exp |
![]() \gcd |
![]() \hom |
![]() \inf |
![]() \ker |
![]() \lg |
![]() \lim |
![]() \liminf |
![]() \limsup |
![]() \ln |
![]() \log |
![]() \max |
![]() \min |
![]() \sec |
![]() \sin |
![]() \sinh |
![]() \sup |
![]() \tan |
![]() \tanh |
二元运算和关系符号:
![]() \Bumpeq |
![]() \Cap |
![]() \Cup |
![]() \Doteq |
![]() \Join |
![]() \Subset |
![]() \Supset |
![]() \Vdash |
![]() \Vvdash |
![]() \approx |
![]() \approxeq |
![]() \ast |
![]() \asymp |
![]() \backepsilon |
![]() \backsim |
![]() \backsimeq |
![]() \barwedge |
![]() \because |
![]() \between |
![]() \bigcirc |
![]() \bigtriangledown |
![]() \bigtriangleup |
![]() \blacktriangleleft |
![]() \blacktriangleright |
![]() \bot |
![]() \bowtie |
![]() \boxdot |
![]() \boxminus |
![]() \boxplus |
![]() \boxtimes |
![]() \bullet |
![]() \bumpeq |
![]() \cap |
![]() \cdot |
![]() \circ |
![]() \circeq |
![]() \coloneq |
![]() \cong |
![]() \cup |
![]() \curlyeqprec |
![]() \curlyeqsucc |
![]() \curlyvee |
![]() \curlywedge |
![]() \dag |
![]() \dashv |
![]() \ddag |
![]() \diamond |
![]() \div |
![]() \divideontimes |
![]() \doteq |
![]() \doteqdot |
![]() \dotplus |
![]() \doublebarwedge |
![]() \eqcirc |
![]() \eqcolon |
![]() \eqsim |
![]() \eqslantgtr |
![]() \eqslantless |
![]() \equiv |
![]() \fallingdotseq |
![]() \frown |
![]() \geq |
![]() \geqq |
![]() \geqslant |
![]() \gg |
![]() \ggg |
![]() \gnapprox |
![]() \gneqq |
![]() \gnsim |
![]() \gtrapprox |
![]() \gtrdot |
![]() \gtreqless |
![]() \gtreqqless |
![]() \gtrless |
![]() \gtrsim |
![]() \in |
![]() \intercal |
![]() \leftthreetimes |
![]() \leq |
![]() \leqq |
![]() \leqslant |
![]() \lessapprox |
![]() \lessdot |
![]() \lesseqgtr |
![]() \lesseqqgtr |
![]() \lessgtr |
![]() \lesssim |
![]() \ll |
![]() \lll |
![]() \lnapprox |
![]() \lneqq |
![]() \lnsim |
![]() \ltimes |
![]() \mid |
![]() \models |
![]() \mp |
![]() \nVDash |
![]() \nVdash |
![]() \napprox |
![]() \ncong |
![]() \ne |
![]() \neq |
![]() \neq |
![]() \nequiv |
![]() \ngeq |
![]() \ngtr |
![]() \ni |
![]() \nleq |
![]() \nless |
![]() \nmid |
![]() \notin |
![]() \nparallel |
![]() \nprec |
![]() \nsim |
![]() \nsubset |
![]() \nsubseteq |
![]() \nsucc |
![]() \nsupset |
![]() \nsupseteq |
![]() \ntriangleleft |
![]() \ntrianglelefteq |
![]() \ntriangleright |
![]() \ntrianglerighteq |
![]() \nvDash |
![]() \nvdash |
![]() \odot |
![]() \ominus |
![]() \oplus |
![]() \oslash |
![]() \otimes |
![]() \parallel |
![]() \perp |
![]() \pitchfork |
![]() \pm |
![]() \prec |
![]() \precapprox |
![]() \preccurlyeq |
![]() \preceq |
![]() \precnapprox |
![]() \precnsim |
![]() \precsim |
![]() \propto |
![]() \rightthreetimes |
![]() \risingdotseq |
![]() \rtimes |
![]() \sim |
![]() \simeq |
![]() \slash |
![]() \smile |
![]() \sqcap |
![]() \sqcup |
![]() \sqsubset |
![]() \sqsubset |
![]() \sqsubseteq |
![]() \sqsupset |
![]() \sqsupset |
![]() \sqsupseteq |
![]() \star |
![]() \subset |
![]() \subseteq |
![]() \subseteqq |
![]() \subsetneq |
![]() \subsetneqq |
![]() \succ |
![]() \succapprox |
![]() \succcurlyeq |
![]() \succeq |
![]() \succnapprox |
![]() \succnsim |
![]() \succsim |
![]() \supset |
![]() \supseteq |
![]() \supseteqq |
![]() \supsetneq |
![]() \supsetneqq |
![]() \therefore |
![]() \times |
![]() \top |
![]() \triangleleft |
![]() \trianglelefteq |
![]() \triangleq |
![]() \triangleright |
![]() \trianglerighteq |
![]() \uplus |
![]() \vDash |
![]() \varpropto |
![]() \vartriangleleft |
![]() \vartriangleright |
![]() \vdash |
![]() \vee |
![]() \veebar |
![]() \wedge |
![]() \wr |
箭头符号:
![]() \Downarrow |
![]() \Leftarrow |
![]() \Leftrightarrow |
![]() \Lleftarrow |
![]() \Longleftarrow |
![]() \Longleftrightarrow |
![]() \Longrightarrow |
![]() \Lsh |
![]() \Nearrow |
![]() \Nwarrow |
![]() \Rightarrow |
![]() \Rrightarrow |
![]() \Rsh |
![]() \Searrow |
![]() \Swarrow |
![]() \Uparrow |
![]() \Updownarrow |
![]() \circlearrowleft |
![]() \circlearrowright |
![]() \curvearrowleft |
![]() \curvearrowright |
![]() \dashleftarrow |
![]() \dashrightarrow |
![]() \downarrow |
![]() \downdownarrows |
![]() \downharpoonleft |
![]() \downharpoonright |
![]() \hookleftarrow |
![]() \hookrightarrow |
![]() \leadsto |
![]() \leftarrow |
![]() \leftarrowtail |
![]() \leftharpoondown |
![]() \leftharpoonup |
![]() \leftleftarrows |
![]() \leftrightarrow |
![]() \leftrightarrows |
![]() \leftrightharpoons |
![]() \leftrightsquigarrow |
![]() \leftsquigarrow |
![]() \longleftarrow |
![]() \longleftrightarrow |
![]() \longmapsto |
![]() \longrightarrow |
![]() \looparrowleft |
![]() \looparrowright |
![]() \mapsto |
![]() \multimap |
![]() \nLeftarrow |
![]() \nLeftrightarrow |
![]() \nRightarrow |
![]() \nearrow |
![]() \nleftarrow |
![]() \nleftrightarrow |
![]() \nrightarrow |
![]() \nwarrow |
![]() \rightarrow |
![]() \rightarrowtail |
![]() \rightharpoondown |
![]() \rightharpoonup |
![]() \rightleftarrows |
![]() \rightleftarrows |
![]() \rightleftharpoons |
![]() \rightleftharpoons |
![]() \rightrightarrows |
![]() \rightrightarrows |
![]() \rightsquigarrow |
![]() \searrow |
![]() \swarrow |
![]() \to |
![]() \twoheadleftarrow |
![]() \twoheadrightarrow |
![]() \uparrow |
![]() \updownarrow |
![]() \updownarrow |
![]() \upharpoonleft |
![]() \upharpoonright |
![]() \upuparrows |
杂项符号:
![]() \$ |
![]() \AA |
![]() \Finv |
![]() \Game |
![]() \Im |
![]() \P |
![]() \Re |
![]() \S |
![]() \angle |
![]() \backprime |
![]() \bigstar |
![]() \blacksquare |
![]() \blacktriangle |
![]() \blacktriangledown |
![]() \cdots |
![]() \checkmark |
![]() \circledR |
![]() \circledS |
![]() \clubsuit |
![]() \complement |
![]() \copyright |
![]() \ddots |
![]() \diamondsuit |
![]() \ell |
![]() \emptyset |
![]() \eth |
![]() \exists |
![]() \flat |
![]() \forall |
![]() \hbar |
![]() \heartsuit |
![]() \hslash |
![]() \iiint |
![]() \iint |
![]() \iint |
![]() \imath |
![]() \infty |
![]() \jmath |
![]() \ldots |
![]() \measuredangle |
![]() \natural |
![]() \neg |
![]() \nexists |
![]() \oiiint |
![]() \partial |
![]() \prime |
![]() \sharp |
![]() \spadesuit |
![]() \sphericalangle |
![]() \ss |
![]() \triangledown |
![]() \varnothing |
![]() \vartriangle |
![]() \vdots |
![]() \wp |
![]() \yen |
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import numpy as np import matplotlib.pyplot as plt t = np.arange(0.0, 2.0, 0.01) s = np.sin(2*np.pi*t) plt.plot(t,s) plt.title(r'$\alpha_i > \beta_i$', fontsize=20) plt.text(1, -0.6, r'$\sum_{i=0}^\infty x_i$', fontsize=20) plt.text(0.6, 0.6, r'$\mathcal{A}\mathrm{sin}(2 \omega t)$', fontsize=20) plt.xlabel('time (s)') plt.ylabel('volts (mV)') plt.show() |
得到如下图片:
总结
本文介绍了matplotlib中文字和符号的设置,最重要的是掌握LaTeX字体的设置方法。