Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Python更新绘图限制和绘图中的多行_Python 2.7_Numpy_Matplotlib_Plot_Wxpython - Fatal编程技术网

Python 2.7 Python更新绘图限制和绘图中的多行

Python 2.7 Python更新绘图限制和绘图中的多行,python-2.7,numpy,matplotlib,plot,wxpython,Python 2.7,Numpy,Matplotlib,Plot,Wxpython,我有一些问题,第一个问题是我不能更新y轴的绘图限制,第二个问题是我想看到每个传感器的6条线,正如你在图片中看到的,如果我做一些更改,我只看到一条,我在一条线上看到所有传感器的变化 以下是我创建绘图和图片的代码: 这里是我获取数据的地方,我试图更新绘图的界限 if len(sample_string) != 6: sample_string = sample_string[0:-1] self.taps[1:3] = self.taps[0:2]

我有一些问题,第一个问题是我不能更新y轴的绘图限制,第二个问题是我想看到每个传感器的6条线,正如你在图片中看到的,如果我做一些更改,我只看到一条,我在一条线上看到所有传感器的变化

以下是我创建绘图和图片的代码:

这里是我获取数据的地方,我试图更新绘图的界限

    if len(sample_string) != 6:

        sample_string = sample_string[0:-1]
        self.taps[1:3] = self.taps[0:2]
        self.taps[0] = int(array[1])
        #value = 0.5 * self.taps[0] + 0.5 * self.taps[2]
        value = self.taps[0]
        self.x[0:self.N-1] = self.x[1:]
        self.x[self.N-1] = value
        # print sample to data logging file
        if self.f != 0:
            self.f.write(str(value))
            self.f.write("\n")

        # update plot limits
        maxval = max(self.x[:])
        minval = min(self.x[:])
        self.x_max += ((maxval + 10) - self.x_max) / 100.0
        self.x_min -= (self.x_min - (minval - 10)) / 100.0

    # Update plot
    self.ax.cla()
    self.ax.autoscale(False)
    self.ax.set_xlim(0, self.N - 1)
    self.ax.set_ylim(self.x_min, self.x_max)
    self.ax.plot(self.n, self.x)
    self.canvas.draw() 

    if b7 == True:
        self.textctrl0.Clear()
        self.textctrl0.AppendText(array[1])
        self.textctrl1.Clear()
        self.textctrl1.AppendText(array[2])
        self.textctrl2.Clear()
        self.textctrl2.AppendText(array[3])   
        self.textctrl3.Clear()
        self.textctrl3.AppendText(array[4])
        self.textctrl4.Clear()
        self.textctrl4.AppendText(array[5])
        self.textctrl5.Clear()
        self.textctrl5.AppendText(array[6])
        b7=False

p、 s我在尝试添加其他传感器时删除了错误代码,这里仅是一个传感器绘图的工作代码。

如果您能创建一个演示问题的最小运行示例,那就太好了。谢谢你的建议,但很难做到这一点,因为代码有点复杂,而且很长,但我想创建类似的东西(第二个示例),但只是因为这个图是如何工作的,以及我想要六行的区别。这就是问题所在。您的代码既长又复杂,但实际上与您的问题无关。这很难理解,我们无法亲自运行它并查看问题。如果问题只与可视化有关,您可以使用随机数据。正如@Fenikso所说,这里有太多不相关的代码。你能举一个从随机源提取数据的最小示例吗?
    if len(sample_string) != 6:

        sample_string = sample_string[0:-1]
        self.taps[1:3] = self.taps[0:2]
        self.taps[0] = int(array[1])
        #value = 0.5 * self.taps[0] + 0.5 * self.taps[2]
        value = self.taps[0]
        self.x[0:self.N-1] = self.x[1:]
        self.x[self.N-1] = value
        # print sample to data logging file
        if self.f != 0:
            self.f.write(str(value))
            self.f.write("\n")

        # update plot limits
        maxval = max(self.x[:])
        minval = min(self.x[:])
        self.x_max += ((maxval + 10) - self.x_max) / 100.0
        self.x_min -= (self.x_min - (minval - 10)) / 100.0

    # Update plot
    self.ax.cla()
    self.ax.autoscale(False)
    self.ax.set_xlim(0, self.N - 1)
    self.ax.set_ylim(self.x_min, self.x_max)
    self.ax.plot(self.n, self.x)
    self.canvas.draw() 

    if b7 == True:
        self.textctrl0.Clear()
        self.textctrl0.AppendText(array[1])
        self.textctrl1.Clear()
        self.textctrl1.AppendText(array[2])
        self.textctrl2.Clear()
        self.textctrl2.AppendText(array[3])   
        self.textctrl3.Clear()
        self.textctrl3.AppendText(array[4])
        self.textctrl4.Clear()
        self.textctrl4.AppendText(array[5])
        self.textctrl5.Clear()
        self.textctrl5.AppendText(array[6])
        b7=False