matplotlib散点图动画中的两个输出图

时间:2014-03-13 20:19:04

标签: python animation matplotlib scatter-plot

我有一些代码可以在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()    

1 个答案:

答案 0 :(得分:0)

tcaswell关于" init 的评论使用您不会创建的属性,直到initialize_graph" 促使我解决这个问题。 更改此项以便init创建图形,而不是在intialize_graph中创建轴而不是它们会移除两个输出图形问题;解决我的问题!