如何平滑曲线并消除过冲

时间:2017-07-23 17:49:27

标签: python matplotlib

我设计了一个GUI,我必须绘制不同传感器的数据。每当我绘制数据self.ax.plot(plotting, "ro-")时,一切都很好。但是当我尝试使用插值方法平滑曲线时,平滑曲线中会出现一些过冲。绘制两条曲线以便更好地理解。任何帮助将不胜感激。

以下是代码段

def draw1(self):
    if self.b1.isChecked() == True:

        self.ax = self.figure.add_subplot(111)
        for i in range(0,1):
            self.ax.clear()
        slot = float(self.DataArraySorted[0])
        plotting.append(slot)
        x = np.linspace(0, 100, 1000)
        y_knots = plotting
        x_knots = list(range(len(y_knots)))
        poly_deg = 3
        coefs = np.polyfit(x_knots, y_knots, poly_deg)
        y_poly = np.polyval(coefs, x)
        self.ax.plot(x, y_poly, "-")
        self.ax.plot(plotting, "ro-")
        self.ax.legend(['Sensor 1'], loc='center left', bbox_to_anchor=(0.71, 1.08))
        self.ax.set_ylim([0,1023])
        self.canvas.update()
        self.canvas.flush_events()
        self.canvas.draw()

你可以在这里看到图片

0 个答案:

没有答案