2017-09-05 3 views
0

데이터 시각화를 처음 사용하고 x- 제한 범위에 관한 간단한 질문이 있습니다. 4 개의 다른 플롯이 있으므로 add_subplot 메서드를 사용하여 2x2 격자를 사용하고 있습니다. 여기까지 내가 한 일은 다음과 같습니다.서브 플로트의 X- 제한 설정

fig = plt.figure() 
ax = fig.add_subplot(221, facecolor='lightgrey') 
weeks = [] 
for weekNum in df.WeekNum: 
    weeks.append(weekNum) 
maxNumber = max(weeks) 
sixWeekList = list(range(maxNumber-6, maxNumber)) 
ax.set_title('Photo', fontsize = 14) 
ax.set_xlabel('Week Number') 
ax.set_xlim(sixWeekList) 
ax.set_ylabel('Percentage') 
ax.set_ylim([0,100]) 
fig.tight_layout() 

스크립트를 실행할 때마다 최근 6 주 동안 줄거리를 표시하려고했습니다. 그러나 위의 프로그램을 실행하면 다음 오류가 표시되고 x 축의 범위를 설정할 수 없습니다. ax.set_xlim ([30,35])

**ValueError**     Traceback (most recent call last) 
<ipython-input-165-cbbb1eabca92> in <module>() 

---> ax.set_xlim(tmp) 
ValueError: too many values to unpack (expected 2) 

이 문제를 해결하기 위해 어떤 다른 방법 : 난 그냥 넣어 경우, [30, 35] ax.set_xlim(), 그것은 원활 전을 실행?

+1

밖으로 인쇄 해보십시오은'sixWeekList' 그것은이 2 개 이상의 번호의 목록입니다. 단지 'ax.set_xlim (maxNumber-6, maxNumber)'와 같이 최대 값과 최소값이 필요합니다. 실제 데이터가 없으면 실행할 수 없지만 이와 비슷한 것이 필요합니다. – johnchase

+0

좋습니다! !! !! "set_xlim"메서드는 범위 자체를 정의합니다. 나는리스트를 통과 할 필요가 없었고 하한값과 상한값만을 지정했다. – SalN85

답변

1

목록이 아닌 최대 및 최소값으로 x 제한을 직접 지정해보십시오. 이는 실패한 것입니다. 예를 들어

:

fig = plt.figure() 
ax = fig.add_subplot(221, facecolor='lightgrey') 
weeks = [] 
for weekNum in df.WeekNum: 
    weeks.append(weekNum) 
maxNumber = max(weeks) 
sixWeekList = list(range(maxNumber-6, maxNumber)) 
ax.set_title('Photo', fontsize = 14) 
ax.set_xlabel('Week Number') 

#just pass max and min here 
ax.set_xlim(maxNumber-6, maxNumber) 

ax.set_ylabel('Percentage') 
ax.set_ylim([0,100]) 
관련 문제