如何避免 matplotlib 中的误差线重叠?

matplotlibpythondata visualization

为了避免 matplotlib 中的误差线重叠,我们可以采取以下步骤 −

步骤

  • 设置图形大小并调整子图之间和周围的填充。

  • 创建一个名称列表。

  • 获取 y1 和 y2 的数据点以及误差 ye1、ye2。

  • 创建一个图形和一组子图。

  • 创建一个可变的 2D 仿射变换,trans1trans2

  • 将 y 与 x 绘制为带有附加误差线的线条和/或标记。

  • 要显示图形,使用show()方法。

示例

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.transforms import Affine2D

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

x = ['Jack', 'James', 'Tom', 'Garry']

y1, y2 = np.random.randn(2, len(x))

ye1, ye2 = np.random.rand(2, len(x))*4+0.3

fig, ax = plt.subplots()

trans1 = Affine2D().translate(-0.1, 0.0) + ax.transData
trans2 = Affine2D().translate(0.1, 0.0) + ax.transData

er1 = ax.errorbar(x, y1, yerr=ye1, marker="*", linestyle="none", transform=trans1)
er2 = ax.errorbar(x, y2, yerr=ye2, marker="o", linestyle="none", transform=trans2)

plt.show()

输出

它将产生以下输出 −


相关文章