Matplotlib 灰度样式表

Beginner

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

简介

Matplotlib 是 Python 中的一个数据可视化库,用于创建各种图表、图形和绘图。它提供了广泛的定制选项来创建吸引人的可视化效果。其中一个选项是样式表。样式表是一组定义绘图外观的设置。在本实验中,我们将探索“灰度”样式表,它会将所有颜色更改为灰度。

虚拟机使用提示

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

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

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

导入所需库

我们首先导入所需的库。我们将需要 NumPy 和 Matplotlib。

import matplotlib.pyplot as plt
import numpy as np

设置随机状态

为确保结果的可重复性,我们使用以下代码设置随机状态:

np.random.seed(19680801)

定义颜色循环示例函数

我们定义了 color_cycle_example 函数,该函数以一个轴对象为输入,并为颜色循环中的每种颜色绘制一条正弦波。颜色循环由 rcParams 定义。

def color_cycle_example(ax):
    L = 6
    x = np.linspace(0, L)
    ncolors = len(plt.rcParams['axes.prop_cycle'])
    shift = np.linspace(0, L, ncolors, endpoint=False)
    for s in shift:
        ax.plot(x, np.sin(x + s), 'o-')

定义图像和补丁示例函数

我们定义了 image_and_patch_example 函数,该函数以一个轴对象为输入,绘制一幅随机图像,并在图中添加一个补丁。

def image_and_patch_example(ax):
    ax.imshow(np.random.random(size=(20, 20)), interpolation='none')
    c = plt.Circle((5, 5), radius=5, label='patch')
    ax.add_patch(c)

使用灰度样式表

我们使用以下代码将样式表设置为“grayscale”:

plt.style.use('grayscale')

创建子图

我们使用以下代码创建一个包含两个子图的图形:

fig, (ax1, ax2) = plt.subplots(ncols=2)
fig.suptitle("'grayscale' style sheet")

绘制示例

我们使用以下代码在第一个子图上绘制颜色循环示例,并在第二个子图上绘制图像和补丁示例:

color_cycle_example(ax1)
image_and_patch_example(ax2)

显示图形

我们使用以下代码显示图形:

plt.show()

总结

在本实验中,我们学习了如何在 Matplotlib 中使用“灰度”样式表来创建全灰度颜色的绘图。我们还学习了如何创建子图、绘制示例以及显示绘图。样式表是自定义绘图外观的绝佳方式,Matplotlib 提供了许多内置的样式表供你选择。