使用matplotlib在Tkinter上进行交互式回归图

时间:2019-02-17 00:39:58

标签: python user-interface matplotlib tkinter interactive

我正在尝试为可以选择不同回归模式的人提供一个用户界面,并且每种模式都可以编辑自由度。例如,我为回归模型选择多项式回归,而我想对其进行第二次多项式回归。但是真的不知道如何编写这种情况。

这是我在没有GUI时使用Sklearn进行回归的回归方法。

import Tkinter
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib.figure import Figure


class App:
    def __init__(self, master):
        # Create a container
        frame = Tkinter.Frame(master)
        # Create 2 buttons
        self.button_left = Tkinter.Button(frame,text="< Decrease Slope",
                                        command=self.decrease)
        self.button_left.pack(side="left")
        self.button_right = Tkinter.Button(frame,text="Increase Slope >",
                                        command=self.increase)
        self.button_right.pack(side="left")

        fig = Figure()
        ax = fig.add_subplot(111)
        self.line, = ax.plot(range(10))

        self.canvas = FigureCanvasTkAgg(fig,master=master)
        self.canvas.show()
        self.canvas.get_tk_widget().pack(side='top', fill='both', expand=1)
        frame.pack()

    def decrease(self):
        x, y = self.line.get_data()
        self.line.set_ydata(y - 0.2 * x)
        self.canvas.draw()

    def increase(self):
        x, y = self.line.get_data()
        self.line.set_ydata(y + 0.2 * x)
        self.canvas.draw()

root = Tkinter.Tk()
app = App(root)
root.mainloop()

我在Stackflow Interactive plot based on Tkinter and matplotlib上看到了有用的代码之一

Date

但是当我可以选择不同程度的多项式回归时,我陷入了如何在画布中实现回归模块的问题?

0 个答案:

没有答案