首页 > 解决方案 > 如何避免重叠的误差线并替换 X 和 Y 轴?

问题描述

我是 matplotlib 的新手,我正在寻求您的帮助来解决我的小问题。我正在分享下面的图表,以下是问题:

1- 我想要 x 轴和 y 轴替换 2- 对我来说最重要的是误差条应该是水平的(在下图中,这些是垂直的)。

图中的一些误差线重叠,我尝试使用 transform 命令避免这个问题。正如我之前所说,如果我可以更换 X 和 Y 轴,我会很高兴。

下面我分享我写的代码:

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

y_values = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
p1 = [1, 0.77, 0.67, 0.85, 0.78, 1.05, 0.63]
p2 = [3, 2, 1.5, 1.20, 1.10, 1.40, 1.10]

x_err = [0.1, 0.2, 0.4, 0.5, 0.3, 0.2, 0.3]
y_err = [0.6, 0.2, 0.4, 0.5, 0.3, 0.2, 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(y_values, p1, x_err, marker="o", linestyle="none", transform=trans1)
er2 = ax.errorbar(y_values, p2, y_err, marker="o", linestyle="none", transform=trans2)

误差线图

标签: pythonplotoverlappingyaxisx-axis

解决方案


推荐阅读