2014-09-07 7 views
0

여기 그래프를 만들어 한 내 코드입니다 :그래프 자동 스케일, 파이썬

def graphdraw(self): 
     self.xaxis = [] 
     self.yaxis = [] 
     fig=plt.figure(1) 
     self.ax=fig.add_subplot(111) 
     plt.xlabel('Wavelenght[nm]') 
     plt.ylabel('Intensity[arb. unit]') 
     self.line, = self.ax.plot(self.xaxis,self.yaxis,'g-', linewidth=1.5, markersize=4) 
     self.ax.set_xlim(-250,250) 
     self.ax.set_ylim(0,40000) 
    def drawg(self): 
     self.graphdraw() 
     i = -200 
     while i <= 200: 
      self.xaxis.append(i) 
      self.yaxis.append(i*i) 
      self.line.set_data(self.xaxis,self.yaxis) 
      plt.draw() 
      plt.pause(0.1) 
      i = i + 1 

그러나 나는 그것이 축을 오토 스케일 싶습니다, 그리고 내가 같은 것을 할 때 대신이 라인의 self.ax.autoscale_view(True,True,True) : self.ax.set_lim... 작동하지 않습니다. 나는 어리 석고 사소한 질문일지도 모르지만 누구든지 나를 도울 수 있습니까?

답변

0

좋습니다. 나는 내 자신 만의 자동 크기 조절기를 만들었 어.

def graphdraw(self): 
     self.xaxis = [] 
     self.yaxis = [] 
     fig=plt.figure(1) 
     self.ax=fig.add_subplot(111) 
     plt.xlabel('Wavelenght[nm]') 
     plt.ylabel('Intensity[arb. unit]') 
     self.line, = self.ax.plot(self.xaxis,self.yaxis,'g-', linewidth=1.5, markersize=4) 
     self.ax.set_xlim(-250,250) 
    def drawg(self): 
     self.graphdraw() 
     i = -200 
     start = 50 
     while i <= 200: 
      z = random.randint(0,450) 
      self.ax.set_ylim(0,start) 
      self.xaxis.append(i) 
      self.yaxis.append(z) 
      if z > start: 
       start= z 
      self.ax.set_ylim(0,start + 50) 
      self.line.set_data(self.xaxis,self.yaxis) 
      plt.draw() 
      plt.pause(0.1) 
      i = i + 1 
관련 문제