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

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

为了避免在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()

输出

它将产生以下输出-

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程