使用 Python 自定义 Matplotlib 默认设置

Beginner

This tutorial is from open-source community. Access the source code

简介

本实验将指导你使用 Python Matplotlib 即时自定义 .rcParams 的过程。你将学习如何在自定义模块中定义函数来设置图形的默认值,以及如何使用这些默认值为图形创建不同的默认集,例如一组用于发布,另一组用于交互式探索。

虚拟机提示

虚拟机启动完成后,点击左上角切换到“笔记本”标签以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,请随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。

创建一个设置默认参数的函数

要创建一个为图形设置默认参数的函数,你可以使用 rcParams.update() 方法。此方法接受一个参数名称和值的字典,并用新值更新当前的默认值。以下是一个为发布图形设置一些默认参数的函数示例:

def set_pub():
    rcParams.update({
        "font.weight": "bold",  ## 粗体字体
        "tick.labelsize": 15,   ## 较大的刻度标签
        "lines.linewidth": 1,   ## 粗线条
        "lines.color": "k",     ## 黑色线条
        "grid.color": "0.5",    ## 灰色网格线
        "grid.linestyle": "-",  ## 实线网格线
        "grid.linewidth": 0.5,  ## 细网格线
        "savefig.dpi": 300,     ## 更高分辨率输出。
    })

自定义默认参数

要为特定图形自定义默认参数,你可以再次使用 rcParams.update() 方法。这次,你要传入一个你想为该图形设置的参数名称和值的字典。以下是一个为特定图形设置一些默认参数的示例:

import matplotlib.pyplot as plt

plt.rcParams.update({
    "font.weight": "bold",
    "xtick.major.size": 5,
    "xtick.major.pad": 7,
    "xtick.labelsize": 15,
    "grid.color": "0.5",
    "grid.linestyle": "-",
    "grid.linewidth": 5,
    "lines.linewidth": 2,
    "lines.color": "g",
})

创建子图

要在 Matplotlib 中创建子图,你可以使用 subplot() 方法。此方法接受三个参数:行数、列数和子图编号。以下是一个创建三个子图的示例:

plt.subplot(311)
plt.plot([1, 2, 3])

plt.subplot(312)
plt.plot([1, 2, 3])
plt.grid(True)

plt.subplot(313)
plt.plot([1, 2, 3])
plt.grid(True)

显示图形

要显示图形,你可以使用 show() 方法。以下是一个示例:

plt.show()

重置默认参数

要将默认参数重置为其原始值,你可以使用 rcdefaults() 方法。以下是一个示例:

plt.rcdefaults()

总结

在本实验中,你学习了如何使用 Python Matplotlib 即时自定义 .rcParams。你学习了如何定义设置图形默认参数的函数,如何为特定图形自定义默认参数,如何创建子图,如何显示图形,以及如何将默认参数重置为其原始值。掌握这些技能后,你可以为你的出版物和交互式探索创建定制的图形。