我有一些代码可以在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 :(得分:0)
tcaswell关于" init 的评论使用您不会创建的属性,直到initialize_graph" 促使我解决这个问题。 更改此项以便init创建图形,而不是在intialize_graph中创建轴而不是它们会移除两个输出图形问题;解决我的问题!