📜  在 Matplotlib 散点图中使用误差线(1)

📅  最后修改于: 2023-12-03 14:51:02.357000             🧑  作者: Mango

在 Matplotlib 散点图中使用误差线

Matplotlib 是一款常用于绘制数据可视化图表的 Python 库,它提供了丰富的函数和类来制作条形图、折线图、散点图等常见图表。本文将介绍如何在 Matplotlib 的散点图中添加误差线,以便更直观地展示数据的不确定性。

准备数据

我们先准备一些随机生成的数据,用于演示如何绘制误差线。以下代码使用 Numpy 库生成了两个长度为 50 的数组,分别代表 x 轴和 y 轴的数据:

import numpy as np

# 随机生成数据
np.random.seed(2022)
x = np.random.randint(1, 10, size=50)
y = np.random.randint(1, 10, size=50)
绘制基础散点图

我们可以使用 Matplotlib 的 scatter() 函数绘制基础散点图,如下所示:

import matplotlib.pyplot as plt

# 绘制散点图
fig, ax = plt.subplots()
ax.scatter(x, y)
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()

运行上述代码,将会生成一个简单的散点图。如下图所示:

basic-scatter-plot

绘制误差线

在上面的基础散点图的基础上,我们可以添加误差线来展示数据的不确定性。误差线的绘制通常需要两个数组来描述,分别是误差条的长度和误差的方向。下面是一些示例代码:

# 随机生成误差条的长度
xerr = np.random.rand(50) + 0.5
yerr = np.random.rand(50) + 0.5

# 随机生成误差的方向
xerr_dir = np.random.choice([-1, 1], size=50)
yerr_dir = np.random.choice([-1, 1], size=50)

# 计算误差线的两个端点坐标
x_err_lower = x - xerr * xerr_dir
x_err_upper = x + xerr * xerr_dir
y_err_lower = y - yerr * yerr_dir
y_err_upper = y + yerr * yerr_dir

# 绘制带误差条的散点图
fig, ax = plt.subplots()
ax.errorbar(x, y, xerr=[x_err_lower, x_err_upper], yerr=[y_err_lower, y_err_upper], fmt='o')
ax.set_xlabel('x')
ax.set_ylabel('y')
plt.show()

运行上述代码后,我们将得到一张带有误差线的散点图。如下图所示:

scatter-plot-with-errorbars

总结

本文介绍了如何在 Matplotlib 的散点图中添加误差线,以便更直观地展示数据的不确定性。我们通过 errorbar() 函数绘制了带有误差线的散点图,并介绍了如何生成随机的误差条长度和误差方向的方法。希望本文能帮助大家更好地使用 Matplotlib 绘制数据可视化图表。