添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

用matplotlib编写数学表达式的介绍。

通过将子集tex标记放在一对美元符号($)中,可以在任何matplotlib文本字符串中使用它。

注意,您不需要安装tex,因为matplotlib提供了自己的tex表达式解析器、布局引擎和字体。布局引擎是对Donald Knuth的tex中布局算法的一个相当直接的改编,因此质量相当好(Matplotlib还提供了 usetex 用于那些希望调用tex生成文本的用户的选项(请参见 Latex 文本渲染

任何文本元素都可以使用数学文本。您应该使用原始字符串(在引号前面加上 'r' ,并用美元符号($)将数学文本包围起来,就像在tex中一样。常规文本和数学文本可以在同一字符串中交错。MathText可以使用dejavu sans(默认)、dejavu serif、计算机现代字体(来自(la)tex)。 STIX 字体(的设计目的是与时间很好地混合),或您提供的Unicode字体。可以使用自定义变量选择MathText字体 mathtext.fontset (见 使用样式表和RCPARAM自定义Matplotlib

下面是一个简单的例子:

# plain text
plt.title('alpha > beta')

生成“α>β”。

# math text
plt.title(r'$\alpha > \beta$')

生成“:mathmpl:alpha>beta”。

MathText应该放在一对美元符号($)之间。为了便于显示货币值,例如“100.00美元”,如果整个字符串中存在一个美元符号,它将以美元符号逐字显示。这是普通tex的一个小变化,在普通tex中,非数学文本中的美元符号必须转义(“\$”)。

虽然美元符号($)对内的语法旨在类似于tex,但外部的文本则不是。尤其是字符,例如:

# $ % & ~ _ ^ \ { } \( \) \[ \]

在tex中,在数学模式之外具有特殊意义。因此,这些字符将根据rcparam的不同行为。 text.usetex 旗帜。见 usetex tutorial 更多信息。

下标和上标

要制作下标和上标,请使用 '_''^' 符号:

r'$\alpha_i > \beta_i$'
\[阿尔法·贝塔\]

有些符号会自动将其子/上标放在运算符下方和上方。例如,写下

stixsansSTIX sans-serif

此外,您可以使用 \mathdefault{{...}} 或它的别名 \mathregular{{...}} 使用MathText之外的常规文本所用的字体。这种方法有很多局限性,最显著的是可用符号要少得多,但是使数学表达式与绘图中的其他文本很好地混合是很有用的。

自定义字体

MathText还提供了一种使用自定义字体进行数学运算的方法。这种方法使用起来相当困难,应该只考虑作为患者用户的实验特性。通过设置rcparam mathtext.fontsetcustom ,然后可以设置以下参数,这些参数控制要用于特定数学字符集的字体文件。

每个参数都应设置为fontconfig字体描述符(如“尚未写入的字体”一章中所定义)。

使用的字体应具有Unicode映射,以便查找任何非拉丁字符,如希腊字符。如果要使用自定义字体中未包含的数学符号,可以设置rcparam mathtext.fallback_to_cmTrue 这将导致MathText系统在自定义字体中找不到特定字符时使用默认计算机现代字体中的字符。

请注意,Unicode中指定的数学glyph随着时间的推移而发展,许多字体的mathText位置可能不正确。

重音命令可以在任何符号之前添加重音。有些表格有长的和短的。

\(\bigtriangledown\) \bigtriangledown \(\bigtriangleup\) \bigtriangleup \(\blacktriangleleft\) \blacktriangleleft \(\blacktriangleright\) \blacktriangleright \(\bot\) \bot \(\bowtie\) \bowtie \(\boxdot\) \boxdot \(\boxminus\) \boxminus \(\boxplus\) \boxplus \(\boxtimes\) \boxtimes \(\bullet\) \bullet \(\bumpeq\) \bumpeq \(\cap\) \cap \(\cdot\) \cdot \(\circ\) \circ \(\circeq\) \circeq \(\coloneq\) \coloneq \(\cong\) \cong \(\cup\) \cup \(\curlyeqprec\) \curlyeqprec \(\curlyeqsucc\) \curlyeqsucc \(\curlyvee\) \curlyvee \(\curlywedge\) \curlywedge \(\dag\) \dag \(\dashv\) \dashv \(\ddag\) \ddag \(\diamond\) \diamond \(\div\) \div \(\divideontimes\) \divideontimes \(\doteq\) \doteq \(\doteqdot\) \doteqdot \(\dotplus\) \dotplus \(\doublebarwedge\) \doublebarwedge \(\eqcirc\) \eqcirc \(\eqcolon\) \eqcolon \(\eqsim\) \eqsim \(\eqslantgtr\) \eqslantgtr \(\eqslantless\) \eqslantless \(\equiv\) \equiv \(\fallingdotseq\) \fallingdotseq \(\frown\) \frown \(\geq\) \geq \(\geqq\) \geqq \(\geqslant\) \geqslant \(\gg\) \gg \(\ggg\) \ggg \(\gnapprox\) \gnapprox \(\gneqq\) \gneqq \(\gnsim\) \gnsim \(\gtrapprox\) \gtrapprox \(\gtrdot\) \gtrdot \(\gtreqless\) \gtreqless \(\gtreqqless\) \gtreqqless \(\gtrless\) \gtrless \(\gtrsim\) \gtrsim \(\in\) \in \(\intercal\) \intercal \(\leftthreetimes\) \leftthreetimes \(\leq\) \leq \(\leqq\) \leqq \(\leqslant\) \leqslant \(\lessapprox\) \lessapprox \(\lessdot\) \lessdot \(\lesseqgtr\) \lesseqgtr \(\lesseqqgtr\) \lesseqqgtr \(\lessgtr\) \lessgtr \(\lesssim\) \lesssim \(\ll\) \ll \(\lll\) \lll \(\lnapprox\) \lnapprox \(\lneqq\) \lneqq \(\lnsim\) \lnsim \(\ltimes\) \ltimes \(\mid\) \mid \(\models\) \models \(\mp\) \mp \(\nVDash\) \nVDash \(\nVdash\) \nVdash \(\napprox\) \napprox \(\ncong\) \ncong \(\ne\) \ne \(\neq\) \neq \(\neq\) \neq \(\nequiv\) \nequiv \(\ngeq\) \ngeq \(\ngtr\) \ngtr \(\ni\) \ni \(\nleq\) \nleq \(\nless\) \nless \(\nmid\) \nmid \(\notin\) \notin \(\nparallel\) \nparallel \(\nprec\) \nprec \(\nsim\) \nsim \(\nsubset\) \nsubset \(\nsubseteq\) \nsubseteq \(\nsucc\) \nsucc \(\nsupset\) \nsupset \(\nsupseteq\) \nsupseteq \(\ntriangleleft\) \ntriangleleft \(\ntrianglelefteq\) \ntrianglelefteq \(\ntriangleright\) \ntriangleright \(\ntrianglerighteq\) \ntrianglerighteq \(\nvDash\) \nvDash \(\nvdash\) \nvdash \(\odot\) \odot \(\ominus\) \ominus \(\oplus\) \oplus \(\oslash\) \oslash \(\otimes\) \otimes Last updated on Dec 17, 2019. Created using Sphinx 1.8.5. Doc version v3.1.1-75-g4a56626f5.