2017-09-07 18 views
1

pyplot에있는 errorbar 기능에 문제가 있습니다. 그것은 겉보기에 임의의 위치에 errorbars 그리기 및 이유를 알아낼 수 없습니다.데이터에 오류 막대가 없습니다.

이 내가 사용하고 무엇을 :

def PlotResults(X,Y,ErrorBarUp,ErrorBarDown,Header='',xLabel='',yLabel='',Bool=1): 

    fig,ax = plt.subplots() 
    plt.plot(X,Y/Y,color='r',label='1:1 - Linie') 
    plt.plot(X, Y,marker='d',color='b',label='S_j/C_j') 
    plt.errorbar(X,Y,xerr=None,yerr=[ErrorBarDown,ErrorBarUp],fmt='',color=c,capsize=2,elinewidth=0.5) 

이 예제를 사용 :

x = 1+np.arange(0,1,0.01) 
y = 1+np.exp(-x) 
yerr = 0.1*np.sqrt(x)+0.1 
xerr = yerr-0.5 
PlotResults(x,y,xerr,yerr,'Hallo','x-Achse','y-Achse',False) 

나는 plot

errorbars 그러나 파란색 점에 있어야 다음 해!

어떤 제안이 잘못 되었나요?

답변

2

yerr 인수는 음수가 아니어야합니다. 그들이 부정적이라면 당신의 예에서 일어난 것처럼 당신의 "음모"의 반대편에서 끝날 것입니다. 귀하의 회선에 대한 오프셋은 단지 ErrorBarUp입니다.

두 번째 y- 오류시에만 abs()을 사용하도록 변경하면 작동합니다. 이처럼 적어도 그것은 본다 일 :

plt.errorbar(X,Y,yerr=[ErrorBarDown,abs(ErrorBarUp)],fmt='',color='c',capsize=2,elinewidth=0.5) 

enter image description here