【问题标题】:two output graphs in matplotlib scatterplot animationmatplotlib 散点图动画中的两个输出图
【发布时间】:2014-03-13 20:19:03
【问题描述】:

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

【问题讨论】:

  • 请减少这里的代码量。虽然很多人愿意提供帮助,但很少有人愿意涉足这么多与实际问题无关的代码。请只发布演示您的问题所需的最少数量的代码。
  • 谢谢,现在代码被删减了!
  • 它应该仍然是功能性的。这看起来很糟糕,因为__init__ 使用了您直到initialize_graph 才创建的属性。代码还是太多了(比如你可以把take_new_data_and_update_graph里的几乎所有东西都拿出来。
  • 啊,好吧,我明白你说它看起来坏了是什么意思。更改此设置以便 init 创建图形,轴等而不是在 intialize_graph 中创建它们,从而消除了两个输出图形问题。感谢您的解决方案!

标签: python animation matplotlib scatter-plot


【解决方案1】:

tcaswell 关于“init 使用您在 initialize_graph 之前不创建的属性”的评论 促使我解决这个问题。 更改此设置以使 init 创建图形,轴等而不是在 intialize_graph 中创建它们,从而消除了两个输出图问题;解决我的问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-05
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2020-09-21
    • 2013-01-22
    • 2021-05-08
    • 2019-12-28
    相关资源
    最近更新 更多