Python对数比例图中的错误条

Python对数比例图中的错误条,python,graph,Python,Graph,我正在编写一个生成以下内容的长代码 问题是误差条的长度会因为对数刻度而改变,我希望它们看起来彼此相等,也就是说,有一个固定的长度。有没有办法用Python轻松地做到这一点 编辑:这里是代码的一部分,我在其中生成了错误条 faztec=[11.4,11.4,7.1,7.7,6.8,6.9,6.2,7.5,5.5,4.0,3.5,3.2,2.9,2.9] flaboca=[9.8,7.3,6.8,8.2,6.8,8.1,6.7,11.0,10.6,4.2,7.0,7.1,5.0,5.3] err1

我正在编写一个生成以下内容的长代码

问题是误差条的长度会因为对数刻度而改变,我希望它们看起来彼此相等,也就是说,有一个固定的长度。有没有办法用Python轻松地做到这一点

编辑:这里是代码的一部分,我在其中生成了错误条

faztec=[11.4,11.4,7.1,7.7,6.8,6.9,6.2,7.5,5.5,4.0,3.5,3.2,2.9,2.9]
flaboca=[9.8,7.3,6.8,8.2,6.8,8.1,6.7,11.0,10.6,4.2,7.0,7.1,5.0,5.3]

err1 = [1.5,1.5,1.7,1.8,1.4,1.5,1.7,3.0,2.7,1.4,1.9,1.9,1.4,1.8]
err2 = [0.7,0.7,0.7,0.8,0.7,0.7,0.7,0.9,0.7,0.7,0.7,0.7,0.7,0.7]

newErr1x = []
newErr1y = []

for i in range(0, len(y)):
    x1 = x[i]
    y1 = (flaboca[i]-err1[i])/(faztec[i]+err2[i])
    x2 = x[i]
    y2 = (flaboca[i]+err1[i])/(faztec[i]-err2[i])
    pl.plot([x1, x2], [y1, y2])
    correction = False
    # when end of segment is near 0, we must change it (because of logx)
    if x2 < endBarLen:
        x2 = 0.03
        endBarLen = endBarLen / 10
        correction = True
    pl.plot([x1+endBarLen, x2-endBarLen], [y1, y1], '-k')
    pl.plot([x1+endBarLen, x2-endBarLen], [y2, y2], '-k')
    if correction:
        correction = False
        endBarLen = endBarLen*10
pl.show()
faztec=[11.4,11.4,7.1,7.7,6.8,6.9,6.2,7.5,5.5,4.0,3.5,3.2,2.9,2.9]
flaboca=[9.8,7.3,6.8,8.2,6.8,8.1,6.7,11.0,10.6,4.2,7.0,7.1,5.0,5.3]
err1=[1.5,1.5,1.7,1.8,1.4,1.5,1.7,3.0,2.7,1.4,1.9,1.9,1.4,1.8]
err2=[0.7,0.7,0.8,0.7,0.7,0.7,0.9,0.7,0.7,0.7,0.7,0.7,0.7,0.7]
newErr1x=[]
newErr1y=[]
对于范围(0,len(y))中的i:
x1=x[i]
y1=(flaboca[i]-err1[i])/(faztec[i]+err2[i])
x2=x[i]
y2=(flaboca[i]+err1[i])/(faztec[i]-err2[i])
pl.图([x1,x2],[y1,y2])
更正=错误
#当段的末尾接近0时,我们必须更改它(因为logx)
如果x2
您可能会传入一个数组作为错误,但是如果希望每个错误条的长度相同,则应该为每个错误条传入相同的值。看起来好像y轴不是对数刻度-如果希望将值从对数空间转换为线性空间,可以使用错误数据的指数或对数进行相应调整。如果给出更具体的信息,我将能够提供更具体的答案

谢谢你的回答,我已经编辑了我的问题,添加了我正在使用的部分代码。