2012-01-19 13 views
4

날짜에 대해 숫자가 아닌 데이터를 간단한 선 그래프로 플롯해야합니다. matplotlib을 사용하고 있습니다.matplotlib 축 원점에서 공간을 남기는 틱 시작 방법

다음은 몇 가지 샘플 코드입니다.

Graph generated from code

import matplotlib.pyplot as plt 

xticks=['Jan','Feb','Mar','April','May'] 
x=[1,2,3,4,5] 
yticks = ['Windy', 'Sunny', 'Rainy', 'Cloudy', 'Snowy'] 
y=[2,1,3,5,4] 

plt.plot(x,y,'bo') #.2,.1,.7,.8 
plt.subplots_adjust(left =0.2) 

plt.xticks(x,xticks) 
plt.yticks(y,yticks) 
plt.show() 

나는 원점에서 일부 공간을 떠나는 틱 레이블을 시작하고 싶어. 그래서 그들은 벼락치기를하지 않습니다. 이것에 Fixedlocator를 사용해야합니까? 또한 그래프는 this 예제와 같이 모든 포인트에 대한 마커를 보여주는 라인이되고 싶습니다. 어떻게해야합니까?

+1

plt.xticks (x, [ 'xticks의 s'는 \ n '+ s)'가 작동합니다 – wim

답변

6
  • ax.set_ylim으로 낮춤 림을 설정하여 그래프를 "들어 올릴 수"있습니다.
  • 마커 점 plt.plot에 호출에서 marker = 'o' 파라미터 설정을 사용하여 플롯에 추가 할 수 있습니다 :
당신은`사용하여 저렴한 해킹에 관심이 있다면
import matplotlib.pyplot as plt 
fig = plt.figure() 
ax = fig.add_subplot(1, 1, 1) 

xticks=['Jan','Feb','Mar','April','May'] 
x=[1,2,3,4,5] 
yticks = ['Windy', 'Sunny', 'Rainy', 'Cloudy', 'Snowy'] 
y=[2,1,3,5,4] 

plt.plot(x,y,'b-', marker = 'o') #.2,.1,.7,.8 
plt.subplots_adjust(left =0.2) 

plt.xticks(x,xticks) 
plt.yticks(y,yticks) 
ax.set_ylim(0.5,max(y)) 
plt.show() 

enter image description here

+0

고마워요. 잘 작동합니다. 또한 ax.set_xlim (0.5, max (x))을 추가하여 x 축에 틱을위한 공간을 남겨 둡니다. – Angela

관련 문제