在Matplotlib图中插入LaTeX公式的完整指南

Elena
Elena
发布时间:2026-10-13| 5人浏览过
原创

本文详细介绍如何在Matplotlib图表中无缝插入LaTeX数学公式。通过两个具体代码实例,演示了积分阴影区域的标注以及使用TeX引擎渲染复杂标题和轴标签的方法。文章涵盖了关键参数设置、字体配置及坐标轴标签的格式化技巧,帮助开发者实现专业级的科学图表输出。

Matplotlib中LaTeX公式的基本应用

Matplotlib具备处理LaTeX字体的能力,允许在生成的图表中直接嵌入数学公式。

积分区域标注示例


from matplotlib.patches import Polygon
import matplotlib.pyplot as plt
import numpy as np

# 定义一个求积分的函数
def func(x):
 return 0.3* (x**2) + (0.1*x) + 1

# 定义积分区间
a, b = 1,2
x = np.linspace(0,3)
y = func(x)

# 绘制曲线
fig, ax = plt.subplots(figsize=(14,8))
plt.plot(x, y, 'g')
plt.ylim(ymin=0)

# 使用Polygon生成阴影部分
Ix = np.linspace(a, b)
Iy = func(Ix)
verts = [(a, 0)] + list(zip(Ix, Iy)) + [(b, 0)]
ploy = Polygon(verts, facecolor = '0.7', edgecolor='0.5')
ax.add_patch(ploy)

# 添加数学公式和坐标轴标签
# r" "中间为LaTex语法表示的公式
plt.text(0.5 * (a+b), 1, r"$\int_a^b f(x)\mathrm{d}x$",
  horizontalalignment='center', fontsize=20)
# 前两个参数是放置文本的坐标
plt.figtext(0.9, 0.075,'$x$')
plt.figtext(0.075,0.9,'$f(x)$' )

ax.set_xticks((a,b))
ax.set_xticklabels(('$a$','b'))
ax.set_yticks((func(a), func(b)))
ax.set_yticklabels(('f(a)','f(b)'))
plt.grid(True)
plt.show()

使用TeX引擎渲染复杂文本

补充知识:在matplotlib中使用TeX编写数学公式的方法。

以下通过具体代码示例进行演示。

TeX引擎配置与高级标签设置


import numpy as np
import matplotlib
matplotlib.rcParams['text.usetex'] = True
import matplotlib.pyplot as plt


t = np.linspace(0.0, 1.0, 100)
s = np.cos(4 * np.pi * t) + 2

fig, ax = plt.subplots(figsize=(6, 4), tight_layout=True)
ax.plot(t, s)

ax.set_xlabel(r'\textbf{time (s)}')
ax.set_ylabel('\\textit{Velocity (\N{DEGREE SIGN}/sec)}', fontsize=16)
ax.set_title(r'\TeX\ is Number $\displaystyle\sum_{n=1}^\infty'
    r'\frac{-e^{i\pi}}{2^n}$!', fontsize=16, color='r')
plt.show()

以上关于在Matplotlib图中插入LaTeX公式的实例分享完毕,希望能为读者提供参考,并欢迎大家继续支持本站。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。