如何用canvas(matplotlib)在图上实现两个图?

时间:2016-07-26 08:40:58

标签: python canvas matplotlib plot

我想在一个窗口中实现两个画布图。我需要on_running(x,y,z)。 X轴保持不变,但我仍然有一个数据z(y-ax)和数据x(x-ax)的图。我该怎么办?

def on_launch(self):
        #Set up plot
        self.figure, self.ax = plt.subplots()
        self.lines, = self.ax.plot([],[], 'o')
        #Autoscale on unknown axis and known lims on the other
        self.ax.set_autoscaley_on(True)
        self.ax.set_xlim(self.min_x, self.max_x)
        #Other stuff
        self.ax.grid()

    def on_running(self, xdata, ydata):
        #Update data (with the new _and_ the old points)
        self.lines.set_xdata(xdata)
        self.lines.set_ydata(ydata)
        #Need both of these in order to rescale
        self.ax.relim()
        self.ax.autoscale_view()
        #We need to draw *and* flush
        self.figure.canvas.draw()
        self.figure.canvas.flush_events()

0 个答案:

没有答案