matplotlib绘制误差条

matplotlib绘制误差条

参考:matplotlib plot error bars

在数据可视化过程中,除了展示数据的分布和趋势外,还经常需要展示数据的不确定性。误差条是一种常见的方式,用来表示数据的变异程度或置信区间。matplotlib库提供了丰富的功能来绘制误差条,帮助我们更直观地理解数据。本文将介绍matplotlib如何绘制误差条,包括不同类型的误差条、调整误差条样式等。

1. 基本误差条

最简单的误差条是对每个数据点绘制上下对称的垂直线段,表示数据的变异程度。我们可以使用errorbar函数来绘制基本误差条。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
errors = [0.5, 0.3, 0.4, 0.2, 0.6]

plt.errorbar(x, y, yerr=errors, fmt='o', capsize=5)
plt.show()

Output:

matplotlib绘制误差条

在上面的示例中,我们通过设置yerr参数来指定误差条的长度,fmt参数指定数据点的样式,capsize参数设置误差条的帽子长度。

2. 水平误差条

除了垂直误差条外,有时候我们也需要显示水平方向的误差。可以通过xerr参数来指定水平误差条的长度。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
errors = [0.5, 0.3, 0.4, 0.2, 0.6]

plt.errorbar(x, y, xerr=errors, fmt='o', capsize=5)
plt.show()

Output:

matplotlib绘制误差条

上面的代码示例中,我们通过设置xerr参数来指定水平误差条的长度。

3. 不对称误差条

有时候数据的不确定性是不对称的,即上下限不相等。我们可以分别指定上下限值来绘制不对称误差条。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
lower_errors = [0.5, 0.3, 0.4, 0.2, 0.6]
upper_errors = [0.3, 0.2, 0.5, 0.4, 0.7]

plt.errorbar(x, y, yerr=[lower_errors, upper_errors], fmt='o', capsize=5)
plt.show()

Output:

matplotlib绘制误差条

上面的代码示例中,我们通过设置yerr参数为一个包含上下限值的列表来绘制不对称误差条。

4. 多组误差条

有时候我们需要同时展示多组数据的误差情况,可以在同一张图上绘制多组误差条。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [2, 4, 6, 8, 10]
y2 = [3, 5, 7, 9, 11]
errors1 = [0.5, 0.3, 0.4, 0.2, 0.6]
errors2 = [0.4, 0.2, 0.3, 0.5, 0.7]

plt.errorbar(x, y1, yerr=errors1, fmt='o', capsize=5)
plt.errorbar(x, y2, yerr=errors2, fmt='s', capsize=5)
plt.show()

Output:

matplotlib绘制误差条

上面的代码示例中,我们同时绘制了两组数据的误差条,通过设置不同的fmt参数来区分两组数据。

5. 自定义误差条样式

除了基本的误差条样式外,我们还可以通过设置各种参数来自定义误差条的样式,比如颜色、线型、标记样式等。

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
errors = [0.5, 0.3, 0.4, 0.2, 0.6]

plt.errorbar(x, y, yerr=errors, fmt='o', capsize=5, color='red', linestyle='dashed', marker='^', markersize=8)
plt.show()

上面的代码示例中,我们通过设置color参数设置误差条的颜色,linestyle参数设置线型,marker参数设置标记样式,markersize参数设置标记大小。

6. 绘制误差区间

除了误差条外,有时候我们也需要绘制误差区间来表示数据的不确定性范围。可以使用fill_between函数来绘制误差区间。

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)
errors = 0.1*np.sin(x)

plt.plot(x, y)
plt.fill_between(x, y-errors, y+errors, alpha=0.2)
plt.show()

Output:

matplotlib绘制误差条

上面的代码示例中,我们通过设置fill_between函数来绘制了sin曲线的误差区间,通过alpha参数设置填充区域的透明度。

通过上面的示例代码,我们学习了如何使用matplotlib绘制误差条,包括基本误差条、水平误差条、不对称误差条、多组误差条、自定义误差条样式和绘制误差区间等功能。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程