📜  使用 matplotlib 绘图 - Python (1)

📅  最后修改于: 2023-12-03 15:22:14.350000             🧑  作者: Mango

使用 matplotlib 绘图 - Python

介绍

Matplotlib 是一个 Python 的数据可视化库,提供了各种各样的绘图方式,例如线图、散点图、直方图、饼图等。它可以与 NumPy、Pandas 等 Python 数据处理库结合使用,非常适合数据分析和机器学习等领域。

安装

Matplotlib 可以通过 pip 安装:

pip install matplotlib
基本绘图

接下来我们以绘制简单的折线图为例,介绍 matplotlib 的基本绘图流程。

准备数据

首先,我们需要准备需要绘制的数据。在本例中,我们将准备 x 轴和 y 轴的数据:

import numpy as np

x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 1, 4, 3, 5])
创建图像

使用 Matplotlib 绘图,我们首先要创建一个图像对象。一般情况下,我们会创建一个包含一个或多个子图的图像对象:

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

这里,我们使用 plt.subplots() 函数创建一个图像对象 fig,以及包含一个子图的轴对象 ax

绘图

接下来,我们可以通过 ax 对象绘制我们所需要的图像。例如,在本例中,我们可以使用 plot() 函数绘制折线图:

ax.plot(x, y)

同时,我们还可以通过 set() 函数设置轴的标签等属性:

ax.set(xlabel='x', ylabel='y', title='Line plot')
显示图像

最后,我们可以使用 show() 函数将图像显示出来:

plt.show()
综合代码

将上述步骤整合在一起,我们最终得到了如下的绘图代码:

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 1, 4, 3, 5])

fig, ax = plt.subplots()

ax.plot(x, y)
ax.set(xlabel='x', ylabel='y', title='Line plot')

plt.show()

运行上述代码,我们可以得到如下的折线图:

line plot

其他绘图方式

Matplotlib 支持多种绘图方式,下面列出其中的若干。

散点图

使用 scatter() 函数可以绘制散点图。与折线图类似,我们需要准备 x 轴和 y 轴的数据:

x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 1, 4, 3, 5])

然后,创建一个图像对象和子图:

fig, ax = plt.subplots()

使用 scatter() 函数绘制散点图:

ax.scatter(x, y)
直方图

使用 hist() 函数可以绘制直方图。我们需要准备需要绘制的数据:

data = np.random.normal(0, 1, 1000)

然后,创建一个图像对象和子图:

fig, ax = plt.subplots()

使用 hist() 函数绘制直方图:

ax.hist(data, bins=30)

bins 参数表示将数据划分为多少个区间。

饼图

使用 pie() 函数可以绘制饼图。我们需要准备需要绘图的数据:

labels = ['A', 'B', 'C', 'D']
sizes = [15, 30, 45, 10]

然后,创建一个图像对象和子图:

fig, ax = plt.subplots()

使用 pie() 函数绘制饼图:

ax.pie(sizes, labels=labels, autopct='%1.1f%%')

其中,labels 参数表示饼图各部分的名称,autopct 参数表示将数值转换为百分比的格式。

结语

Matplotlib 是一个功能强大的数据可视化库,本文只介绍了其中的几种绘图方式。如果你有更多需求,查阅 Matplotlib 的官方文档将会非常有帮助。