2016-07-22 3 views
2

누락 된 값 (없음) 또는 numpynp.nan을 matplot 그래프에 추가하려고합니다. 일반적으로 다음과 같이 누락 된 값을 가질 수 있습니다.시작 부분에 누락 값 - matplotlib

import matplotlib.pyplot as plt 

fig = plt.figure(1) 

x = range(10) 
y = [1, 2, None, 0, 1, 2, 3, 3, 5, 10] 

ax = fig.add_subplot(111) 
ax.plot(x, y, 'ro') 

plt.show() 

그래프의 시작 부분에는 빠진 값이 쉽게 지원되지 않습니다.

import matplotlib.pyplot as plt 

fig = plt.figure(1) 

x = range(10) 
y = ([None]*5)+[x for x in range(5)] 

ax = fig.add_subplot(111) 
ax.plot(x, y, 'ro') 

plt.show() 

이 표시됩니다

하지만 x=0 대신 x=5 시작하고 싶습니다. 이 문제에 대한 간단한 방법이 있기를 바랍니다.

답변

4

빈 값이 두 번째 플롯에 영향을 미치지 않는 이유는 축 개체의 x 및 y 제한을 자동으로 결정하기 때문입니다. 첫 번째 경우에는 관심있는 전체 x/y 범위에 걸쳐있는 "실제"데이터가 있으며 축은이 데이터에 맞게 자동으로 조정됩니다. 두 번째 예제에서 실제 데이터는 x 값의 상위 범위 만 다루기 때문에 표시 할 것이 없으므로 matplotlib가 x 축을 자릅니다.

이 방법은 명시 적으로 축의 xlims을 지정하는 것입니다. x에 대한 값을 사용하여 이들이 무엇인지 결정할 수 있습니다.

plt.xlim(x[0], x[-1]) 
3

Matplotlib은 x 축과 y 축의 매개 변수를 자동으로 선택합니다. 이 경우 시각화 할 수있는 점만 표시합니다. x 또는 y가 "없음"이면 아무 것도 시각화 할 수 없습니다. 그래프의 "비어있는"부분을보고 싶다면 직접 축 범위를 조정하십시오.

Matplotlib/pyplot: How to enforce axis range?

Python, Matplotlib, subplot: How to set the axis range?

setting y-axis limit in matplotlib

및 많은 더 :

그렇게하는 방법 등이 포럼에 비슷한 질문에 여러 번 대답하고있다. 그러므로 나는이 포럼의 다른 곳에서 말한 것을 반복하지 않을 것이다.