Python 在matplotlib/tkinter中按下按钮后如何更改打印颜色?

Python 在matplotlib/tkinter中按下按钮后如何更改打印颜色?,python,matplotlib,plot,tkinter,interactive,Python,Matplotlib,Plot,Tkinter,Interactive,我是Python新手。我想在按下按钮后更新显示的绘图。例如,我想改变颜色 谢谢你的帮助 从tkinter导入* 从matplotlib.backends.backend_tkagg导入图CAVASTKAGG 从matplotlib.figure导入图形 类应用程序(框架): def将_更改为_蓝色(自): #todo self.ax.plot.color='蓝色'???? #todo self.图更新()??? 打印('图形现在应该是蓝色而不是红色') 定义初始(自我,主): 帧。\uuuu初始

我是Python新手。我想在按下按钮后更新显示的绘图。例如,我想改变颜色

谢谢你的帮助

从tkinter导入*
从matplotlib.backends.backend_tkagg导入图CAVASTKAGG
从matplotlib.figure导入图形
类应用程序(框架):
def将_更改为_蓝色(自):
#todo self.ax.plot.color='蓝色'????
#todo self.图更新()???
打印('图形现在应该是蓝色而不是红色')
定义初始(自我,主):
帧。\uuuu初始化(自,主)
按钮(master,text=“将颜色切换为蓝色”,command=lambda:self.change_to_blue()).pack()
self.fig=图(figsize=(6,6))
self.ax=self.fig.add_子批次(111)
self.ax.plot(x,y,color='red')
self.canvas=FigureCanvasTkAgg(self.fig,master=master)
self.canvas.draw()
self.canvas.get_tk_widget().pack()
x=[0,1,2,3,4,5,6,7,8,9]
y=[0,1,2,3,4,5,6,7,8,9]
root=Tk()
app=app(根目录)
root.mainloop()

您需要更改由
ax.plot
创建的
Line2D
对象的颜色。 将其存储在
self
中,然后您将能够在操作处理程序中访问它

def __init__(self, master):
    ...
    # ax.plot returns a list of lines, but here there's only one, so take the first
    self.line = self.ax.plot(x, y, color='red')[0]
然后,您可以在处理程序中更改所述线条的颜色。您需要调用
canvas.draw
以强制重新渲染线条

def change_to_blue(self):
    self.line.set_color('blue')
    self.canvas.draw()

您需要更改由
ax.plot
创建的
Line2D
对象的颜色。 将其存储在
self
中,然后您将能够在操作处理程序中访问它

def __init__(self, master):
    ...
    # ax.plot returns a list of lines, but here there's only one, so take the first
    self.line = self.ax.plot(x, y, color='red')[0]
然后,您可以在处理程序中更改所述线条的颜色。您需要调用
canvas.draw
以强制重新渲染线条

def change_to_blue(self):
    self.line.set_color('blue')
    self.canvas.draw()

非常感谢。这就是我要找的。这和我改变颜色以外的其他东西的方式一样吗?例如数据?是的,您可以使用
line.set_ydata
作为实例谢谢!这就是我要找的。这和我改变颜色以外的其他东西的方式一样吗?例如,数据?是的,您可以使用
line.set_ydata