Matplotlib 灰度样式表

PythonPythonBeginner
立即练习

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

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

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提供了许多内置的样式表供你选择。