matplotlib 中的分类 x 轴误差条图

Categorical x-axis errorbar plot in matplotlib

我想用分类 X 变量绘制误差线。误差线(上和下)仅在 Y 值上。

例如代码

import numpy as np
import matplotlib.pyplot as plt

x = ["4", "10", "50"]
y = [3, 2, 1]
yerr = np.matrix([[1.5, 1.1, 0.9], [1.3, 1.2, 0.8]])

fig, ax = plt.subplots(1, 1)
ax.errorbar(x, y, yerr=yerr)
plt.show()
plt.close()

出现以下错误:

ValueError: In safezip, len(args[0])=3 but len(args[1])=1

您得到的错误与分类轴无关。

你就是不能使用矩阵。使用 numpy 数组,

yerr = np.array([[1.5, 1.1, 0.9], [1.3, 1.2, 0.8]])

或者只是一个列表,这里不需要使用numpy,

yerr = [[1.5, 1.1, 0.9], [1.3, 1.2, 0.8]]