Matplotlib 简明教程

Matplotlib - LaTeX for Mathematical Expressions

What is Rendering mathematical expressions?

在 LaTeX 中呈现数学表达式,需要使用 LaTeX 语法来编写数学方程、符号和公式。LaTeX 提供了一套全面的命令和符号,以便以精确和清晰的方式创建复杂的数学表达式。

Importance of LaTeX for Mathematics

Precision and Clarity - LaTeX 允许准确排版数学符号和字符。

Consistency - 维持数学文档排版的一致性。

Publication-Quality - 产生高质量的数学表达式,适用于学术和科学出版物。

LaTeX’s - 对数学排版的支持,使其成为研究人员、数学家、科学家和学者在编写需要准确且格式良好的数学符号的技术或数学文档时优先考虑的选择。

LaTeX for Mathematical Expressions

以下是在数学表达式中 LaTex 的组成部分。

Inline Math Mode

LaTeX 中的内联数学模式用于在文档文本中包含数学表达式。

我们可以通过一对单美元符号 $…​$ 将数学表达式括起来使用内联数学模式。

Using the inline math mode

在这个例子中,数学表达式 \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} 被使用内联数学模式包含在文本内。结果是该数学表达式在文本行内被呈现。

The quadratic formula is given by $x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$.

执行上述代码时,您将获得以下输出 -

inline math mode

Display Math Mode

LaTeX 中的显示数学模式用于在独立模块中展示数学表达式,居中,并且有别于周围的文本。通常用于在文档中更重要的大型或独立方程。

要在 LaTeX 中使用显示数学模式,我们有若干选项,逐个来了解。

Double Dollar Sign …​

将数学表达式括在 $$ 符号内,用于显示的方程。

在此例中,我们使用 .. 显示给定的输入方程。

$$
   f(x) = \int_{a}^{b} g(x) \, dx
$$

执行上述代码时,您将获得以下输出 -

double dollar sign

‘equation’ Environment

使用 equation 环境创建编号方程。

\begin{equation}
   f(x) = \int_{a}^{b} g(x) \, dx
   \end{equation}

执行上述代码时,您将获得以下输出 -

double dollar sign

Symbols and Operators

在 LaTeX 中,我们可以使用各种符号和运算符,来表示数学符号、表达式和运算。以下是一些常用的符号和运算符以及它们的 LaTeX 命令。

  1. Greek Letters - Alpha: \alpha ,Beta: \beta ,Gamma: \gamma ,Delta: \delta ,依此类推。

  2. Arithmetic Operators - 加: + ,减: - ,乘: \times* ,除: \div/

  3. Relations and Comparisons - 等于: = ,不等于: \neq ,小于: < ,大于: > ,依此类推。

  4. Set Theory - 并集: \cup ,交集: \cap ,子集: \subset ,超集: \supset

  5. Calculus and Limits - 积分: \int ,求和: \sum ,极限值: \lim ,导数: \frac{dy}{dx}

  6. Functions - 正弦: \sin ,余弦: \cos ,正切: \tan ,对数: \log ,指数: \exp

  7. Roots and Exponents - 平方根: \sqrt{x} ,指数: x^2 ,下标: x_1 ,上标: x^i

  8. Other Notations Fractions - \frac{numerator}{denominator} Matrices - bmatrixpmatrixvmatrix 等,使用 amsmath 软件包 Special Symbols - 例如, \infty 表示无穷大, \emptyset 表示空集等。

Example

在此示例中,我们使用 .. 显示 matplotlib 库 LaTex 中的符号和运算符。

$$(\alpha + \beta = \gamma \times \delta)$$

执行上述代码时,您将获得以下输出 -

symbols operators

利用这些用于符号和运算符的 LaTeX 命令,我们可以在 LaTeX 文档中创建具有精准度和清晰度的复杂数学表达式。

Fraction and Subscript/Superscript

在 LaTeX 中,我们可以轻松地创建分数、下标和上标以使用特定命令和符号表示数学表达式。

我们可使用 \frac{numerator}{denominator} 命令创建分数。

在此示例中,我们创建分数 ¾。

The fraction is $\frac{3}{4}$.

执行上述代码时,您将获得以下输出 -

fraction

使用下标的“_”和上标的“^”可以添加下标和上标。

在此示例中,我们显示了一个脚本内容。

$x_i^2$ denotes $x$ raised to the power of $i$ squared.

执行上述代码时,您将获得以下输出 -

subscripts

我们还可以通过用花括号 {} 括起内容来嵌套下标和上标。

在此示例中,我们显示嵌套的下标。

$x_{i_j}^{2k}$ represents a nested subscript and superscript.

执行上述代码时,您将获得以下输出 -

nested subscripts

Using Commands

对于更复杂的表达式或为了确保一致的格式,我们可以使用 fixltx2e 等软件包提供的命令,如 \subscript{}\superscript{}

在此示例中,我们显示复杂表达式。

$x \subscript{i} \superscript{2}$

执行上述代码时,您将获得以下输出 -

complex expressions

LaTeX 提供了创建分数、下标和上标的简单方法,让我们能够准确有效地表示数学表达式。

Matrices and Arrays

LaTeX 中使用矩阵和数组以矩阵形式表示数据或显示方程组。 array 环境是 LaTeX 中创建矩阵和数组的基本结构,而 amsmath 软件包提供的 matrix 环境提供了额外的功能和更简单的矩阵语法。

Creating Matrices and Arrays

以下是如何使用各自的环境创建数组和矩阵。

‘array’ 环境允许我们在 LaTeX 中创建矩阵或数组。

\[
\begin{array}{ccc}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9 \\
\end{array}
\]

执行上述代码时,您将获得以下输出 -

amsmath

Using ‘amsmath’ Package’s ‘matrix’ Environments

amsmath 包提供了 matrix, pmatrix, bmatrix, Bmatrix, vmatrix, Vmatrix 等方便的矩阵环境,简化了矩阵的创建。

\[
\begin{matrix}
1 & 2 & 3 \\
4 & 5 & 6 \\
7 & 8 & 9 \\
\end{matrix}
\]

执行上述代码时,您将获得以下输出 -

matrix

Matrix Formatting

这里将使用 LaTeX 对齐矩阵的列。在矩阵或数组中,我们可以使用 c 表示居中、l 表示左对齐和 r 表示右对齐,在 array 环境中指定列对齐方式。

下面是应用列对齐到矩阵的示例。

\[
\begin{array}{ccc}
1 & 222 & 3 \\
4 & 55555 & 6 \\
7 & 888 & 999999 \\
\end{array}
\]

执行上述代码时,您将获得以下输出 -

matrix formatting

Additional Notes

  1. LaTeX 中的矩阵和数组包含在 \[ …​ \]equation 环境中,以将它们显示为独立的方程。

  2. & 符号分隔行内的元素,而 \\ 开始新的一行。

LaTeX 为显示矩阵和数组提供了多功能工具,允许我们以各种对齐方式和配置以矩阵形式表示数学数据或方程。LaTeX 可以创建矩阵和数组以用于数学符号。

\begin{bmatrix}
1 & 2 \\
3 & 4
\end{bmatrix}

执行上述代码时,您将获得以下输出 -

matrix alignment

Special Functions

LaTeX 支持特殊函数的符号,例如三角函数、对数等。

$$
\sin(\theta), \log(x), \lim_{x \to \infty} f(x)
$$   Example of LaTeX Mathematical Expressions:

执行上述代码时,您将获得以下输出 -

special functions

Remove random unwanted space in LaTeX-style maths

LaTeX 会忽略您输入的空格,并按照数学文本中的方式使用空格。如果您想要不同的间距样式,可以使用以下四个命令

  1. \; − thick space

  2. \: − medium space

  3. \, − 细间距

  4. \! − 负细间距

若要在 matplotlib 图中消除 LaTeX 样式数学中的随机多余空格,可以使用 "\!",这将减少多余的间距。

下面是应用列对齐到矩阵的示例。

from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
plt.subplot(211)
plt.text(0.4, 0.4, r'$\sum_{n=1}^{\infty}\; \frac{-e^{i\pi}}{2^n}!\left[a^2+\delta ^2- \frac{\pi}{2} \right ]$', fontsize=16, color='r')
plt.title("With thick space")
plt.subplot(212)
plt.text(0.4, 0.4, r'$\sum_{n=1}^{\infty}\! \frac{-e^{i\pi}}{2^n}!\left[a^2+\delta ^2- \frac{\pi}{2} \right ]$', fontsize=16, color='r')
plt.title("With thin space")
plt.show()

执行上述代码时,您将获得以下输出 -

space latex

请注意“Σ(西格玛)”符号后的间距差异。在第一种情况下,我们使用了粗间距 (\;),在第二种情况下,我们使用了细间距 (\!) 来减少多余的间距。