【python】Matplotlib+LaTeX绘图 & 字符加粗 || 代码合集

【start:240814】

动机

在使用Python的Matplotlib库绘图时,在非LaTeX模式下,似乎无法同时对LaTeX变量进行“加粗、加斜体”的操作,于是计划转向使用LaTeX模式。

Matplotlib库

调用

import matplotlib as mpl  
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

报错

这时,如果没有提前安装latex软件,而直接运行

mpl.rcParams['text.usetex'] = True

会报错:

RuntimeError: Failed to process string with tex because latex could not be found

这说明我们还没有安装好latex软件,需要先安装再使用

LaTeX 模式

安装

先下载、安装latex软件

【ref】LaTex安装及使用(一)

然后,在python环境中安装latex库

pip install latex

使用

import matplotlib as mpl  
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

mpl.rcParams['text.usetex'] = True
mpl.rcParams['text.latex.preamble'] = r"""
\usepackage{textcomp}
\usepackage{amsmath}
"""

其中:

mpl.rc('text', usetex=True):这行代码将 Matplotlib 配置为使用 LaTeX 引擎来渲染文本。这使得你可以使用 LaTeX 语法来定义文本的样式和格式。LaTeX 是一个强大的排版系统,特别适合处理复杂的数学公式和符号。

mpl.rcParams['text.latex.preamble']=[r"\usepackage{...}"]:这行代码指定了一个 LaTeX 的前导部分,用于加载额外的 LaTeX 包。在这个例子中,加载了 amsmath 包,它提供了许多增强的数学功能,如更多的数学符号和公式格式选项。

配置属性:text.latex.preamble

属性简介

text.latex.preamble 中,你可以添加许多 LaTeX 包来扩展 Matplotlib 渲染 LaTeX 文本的功能。以下是一些常用的 LaTeX 包及其功能:

  1. amsmath: 提供增强的数学公式支持和环境,例如对齐、分数和矩阵。

    \usepackage{amsmath}
    
  2. amssymb: 提供额外的数学符号,例如黑板粗体字母和额外的符号。

    \usepackage{amssymb}
    
  3. amsfonts: 提供额外的数学字体,例如黑板粗体字母和其他特殊符号。

    \usepackage{amsfonts}
    
  4. mathrsfs: 提供花体数学字体,用于书写特殊的数学符号。

    \usepackage{mathrsfs}
    
  5. siunitx: 用于处理和格式化单位和数值数据。

    \usepackage{siunitx}
    
  6. xcolor: 提供颜色支持,可以为文本和图形添加颜色。

    \usepackage{xcolor}
    
  7. geometry: 控制页面布局和边距设置。

    \usepackage{geometry}
    
  8. graphicx: 提供图像处理功能,例如缩放、旋转图像。

    \usepackage{graphicx}
    
  9. tikz: 提供用于创建图形和图表的强大工具。

    \usepackage{tikz}
    
  10. babel: 提供多语言支持,根据所选语言调整排版规则。

    \usepackage[english]{babel}
    

这些包可以通过在 text.latex.preamble 中添加相关的 \usepackage 命令来加载。例如:

import matplotlib.pyplot as plt
import matplotlib as mpl

mpl.rcParams['text.usetex'] = True
mpl.rcParams['text.latex.preamble'] = r"""
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{xcolor}
"""

你可以根据需要选择并组合这些包,以满足特定的排版和渲染需求。

amsmath

可以搭配:
\boldsymbol{}:斜体,加粗希腊字符和文本

textcomp

可以使用:
\textmu

非LaTeX 模式

配置属性:mpl.rcParams[‘…’]

mpl.rcParams['font.family'] = 'serif'
mpl.rcParams['font.serif'] = ['Times New Roman']
mpl.rcParams['font.weight'] = 'bold'
mpl.rcParams['xtick.labelsize'] = 20
mpl.rcParams
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值