2014-03-13 2 views
2

matplotlib에서 산점도를 애니메이션화하는 데 필요한 코드가 있습니다. 끝 부분에 두 개의 출력 그래프로 끝나는 것을 제외하고는 모든 것이 원활하게 실행됩니다. 하나는 원하는 애니메이션을 포함하고 다른 애니메이션은 공백입니다.matplotlib 산점도 애니메이션에서 두 개의 출력 그래프

누군가가 간단한 문제 일지 모르지만 이유를 알 수 없으며 왜 두 개의 그래프가 표시되는지 알 수 없습니다. 누구나 "가짜"빈 그래프를주는 것을 볼 수 있습니까? 건배. 대한

import math, numpy, time, matplotlib, pyvisa 
from pyvisa import visa 
from matplotlib import pyplot, animation 
import os.path 

class Realtime_measurement_and_scatter_plot: 


    def __init__(......): 

     self.animaiton = animation.FuncAnimation(self.figure, self.take_new_data_and_update_graph, init_func=self.initialise_graph, frames = self.number_of_measurements, interval=100, blit=False) 





    def initialise_graph(self): 

     self.figure = matplotlib.pyplot.figure() 

     self.axes = matplotlib.pyplot.axes() 

     self.axes.set_title("Realtime Plot") 

     self.x_data = [] 
     self.y_data = [] 

     self.scatterplot = matplotlib.pyplot.scatter(self.x_data, self.y_data) 
     return self.scatterplot, 

    def take_new_data_and_update_graph(self, i): 
... 




     averaged_voltage = numpy.average(measured_voltages) 
     new_time = float(i) * float(self.time_between_measurements) 

     self.x_data = numpy.append(self.x_data, averaged_voltage) 
     self.y_data = numpy.append(self.y_data , new_time) 

     self.scatterplot = matplotlib.pyplot.scatter(self.x_data, self.y_data) 



     return self.scatterplot, 


    animation_instance = Realtime_measurement_and_scatter_plot(1000000, 1 , 1, 6, "Super_FUN_TEST.0",22) 
    matplotlib.pyplot.show()  
+0

여기 코드의 양을 줄이십시오. 많은 사람들이 기꺼이 도울 수 있지만 실제 문제와 관련이없는 많은 코드를 통해 기꺼이 수행 할 의사는 거의 없습니다. 문제를 설명하는 데 필요한 _minimum_ 코드 만 게시하십시오. – tacaswell

+0

감사합니다. 코드가 내려졌습니다! –

+0

그래도 _fuctional_해야합니다. 이것은'__init__'가'initialize_graph' 때까지 생성하지 않는 속성을 사용하기 때문에 깨졌습니다. 여전히 너무 많은 코드가 있습니다 (예를 들어,'take_new_data_and_update_graph'에서 거의 모든 것을 취할 수 있습니다.) – tacaswell

답변

0

tcaswell의 코멘트 "초기화 당신이 initialize_graph 때까지 생성하지 않는 속성을 사용하여" 는 문제를 해결하기 위해 저를 자극했다. init이 그림을 생성하도록 변경하면, intialize_graph에 생성되는 축 대신에 축 ect가 두 개의 출력 그래프 문제를 제거합니다. 내 문제를 해결!

관련 문제