如何避免 matplotlib 中的误差线重叠?
matplotlibpythondata visualization
为了避免 matplotlib 中的误差线重叠,我们可以采取以下步骤 −
步骤
设置图形大小并调整子图之间和周围的填充。
创建一个名称列表。
获取 y1 和 y2 的数据点以及误差 ye1、ye2。
创建一个图形和一组子图。
创建一个可变的 2D 仿射变换,trans1 和 trans2。
将 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()
输出
它将产生以下输出 −