2014-07-09 8 views
1

파이썬에서 matplotlib를 사용하여 다양한 두께의 선을 플롯하고 싶습니다. 파이썬에서 matplotlib를 사용하는 팻 밴드

, 나는 다음과 같은 한 명확하게하기 위해 변수

import matplotlib.pyplot as P 
import numpy as N 

x_value = N.arange(0,10,1) 
y_value = N.random.rand(10) 
bandwidth = N.random.rand(10)*10 
P.plot(x_value,y_value,bandwidth) 

내가 x_value 및 Y 값과 x_value 위치에 따라 다양하고 대역폭 벡터에 의해 주어진 두께의 선을 그릴 싶습니다.

내가 볼 가능한 솔루션 (상단 및 하단 선을 그어야하는 것, 즉 내가 Y 값 [지수] + 걸릴 - 대역폭 [인덱스]/2 및 플롯이 두 줄을

그럼 난에 시도 할 수 있습니다. (어떻게?) 두 줄 사이의 공간을 채우기

당신이 어떤 제안이 있다면?

감사합니다,

사무엘.

+0

나는 이것이 반복 생각합니다. 이 : http://stackoverflow.com/questions/19390895/matplotlib-plot-with-variable-line-width 당신이 원하는 것을하지? – DailRowe

+1

@DailRowe : OP가 무엇을 원하는지 확실하지 않지만 두께가 가변 인 선은 선 너비가 선에 수직 인 폭을 지정하고 Y 축을 따라 대역폭이 지정되므로 선 너비가 가변 너비 대폭과 다릅니다. 너비는 y 값에서 읽을 수 있습니다 (적어도 여기까지 한 것처럼). – tom10

답변

1

당신이 할 수있는 이것은 fill_between을 사용합니다.

예를 들어, 절반 bandwidth 위 반 (도 plot를 사용하여 원래 선 그리기) 이하가합니다 :

enter image description here

import matplotlib.pyplot as P 
import numpy as N 

x_value = N.arange(0,10,1) 
y_value = N.random.rand(10) 
bandwidth = N.random.rand(10)*10 
print bandwidth 
P.fill_between(x_value, y_value+bandwidth/2, y_value-bandwidth/2, alpha=.5) 
P.plot(x_value,y_value) 
P.show() 
+0

답변 해 주셔서 감사합니다. 내가 언급 한 것처럼 절대 너비가 필요하고 선 너비에 수직이 아닙니다! – sponce