使用 ggplot 样式进行 Matplotlib 绘图

PythonPythonBeginner
立即练习

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

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

简介

Matplotlib 是一个用于 Python 编程语言及其数值数学扩展 NumPy 的绘图库。本教程将指导你使用 Matplotlib 中的 ggplot 样式表创建绘图的过程。

虚拟机使用提示

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

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

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

导入库并设置样式表

首先,我们需要导入所需的库并设置 ggplot 样式表。

import matplotlib.pyplot as plt
import numpy as np

plt.style.use('ggplot')

创建散点图

我们将使用随机数据点创建一个散点图。

## 为保证可重复性而固定随机状态
np.random.seed(19680801)

## 创建随机数据点
x, y = np.random.normal(size=(2, 200))

## 创建散点图
plt.plot(x, y, 'o')
plt.show()

创建正弦曲线

我们将使用默认颜色循环中的颜色创建正弦曲线。

## 创建正弦曲线
L = 2*np.pi
x = np.linspace(0, L)
ncolors = len(plt.rcParams['axes.prop_cycle'])
shift = np.linspace(0, L, ncolors, endpoint=False)

for s in shift:
    plt.plot(x, np.sin(x + s), '-')
plt.margins(0)
plt.show()

创建柱状图

我们将使用随机数据点创建柱状图。

## 创建柱状图
x = np.arange(5)
y1, y2 = np.random.randint(1, 25, size=(2, 5))
width = 0.25

plt.bar(x, y1, width)
plt.bar(x + width, y2, width, color=list(plt.rcParams['axes.prop_cycle'])[2]['color'])
plt.xticks(x + width, labels=['a', 'b', 'c', 'd', 'e'])
plt.show()

创建圆形

我们将使用默认颜色循环中的颜色创建圆形。

## 创建圆形
fig, ax = plt.subplots()
for i, color in enumerate(plt.rcParams['axes.prop_cycle']):
    xy = np.random.normal(size=2)
    ax.add_patch(plt.Circle(xy, radius=0.3, color=color['color']))
ax.axis('equal')
ax.margins(0)
plt.show()

总结

在本教程中,我们学习了如何使用Matplotlib中的ggplot样式表来创建绘图。我们使用默认颜色循环中的颜色创建了散点图、正弦曲线、柱状图和圆形。Matplotlib是在Python中创建可视化的强大工具。