将实时绘图初始化为空

时间:2016-01-15 07:21:28

标签: python matplotlib

这是我的班级:

import matplotlib.pyplot as plt
import collections as col
import numpy as np

class Graph(object):
    """Single 2-D dynamic plot. The axes must be same length and
    have both minimum and maximum possible values.


    """
    def __init__(self, window, subplot_num, x_axis, y_axis):
        ax = window.add_subplot(subplot_num)
        self.y, = ax.plot(x_axis,                # Obtain handle to y axis.
                          y_axis,
                          marker='^'
                          )
        self.y_data = col.deque(y_axis,          # Circular buffer.
                                maxlen=len(y_axis)
                                )

        # Make plot prettier
        plt.grid(True)
        plt.tight_layout()

    def add_datapoint(self, y):
        self.y_data.appendleft(y)                # Remember - circular buffer.
        self.y.set_ydata(self.y_data)

我传递给x_axis range(60)来设置静态水平轴。 y_axis正在获取range(10, 60)以设置其范围。

从那时起,我会听stdin并每秒添加一个新点。

问题是,初始图表是阴险的:

enter image description here

我想删除初始对角线。我尝试使用NaN初始化y_axis并调用ax.set_yrange(),但这并不能解决我选择的问题。我也试过不传递y值,但是mpl.plot想要相等长度的x和y轴。

如何删除初始对角线?我可以手动设置y范围,或者在新数据到达时动态调整图表大小。

0 个答案:

没有答案