gpt4 book ai didi

python - 手动调用matplotlib的draw

转载 作者:太空宇宙 更新时间:2023-11-03 16:52:36 24 4
gpt4 key购买 nike

我有以下代码示例。当我按下按钮时,颜色会改变。然而只有在我稍微移动鼠标之后。我可以以某种方式直接调用绘图函数吗?

import matplotlib.pyplot as plt
from matplotlib.widgets import Button

def toggle(_):
button.status ^= True

color = [0, 1, 0] if button.status else [1, 0, 0]
button.color = color
button.hovercolor = color

# Stuff that doesn't work...
plt.draw()
button.canvas.draw()
plt.gcf().canvas.draw()


button = Button(plt.axes([.1, .1, .8, .8]), 'Press me')
button.status = True
button.on_clicked(toggle)

plt.show()

最佳答案

我确信有一种“官方”方法可以完成您想做的事情,但这里有一个模拟鼠标运动事件的方法,该事件将触发重绘。在 toggle() 末尾添加 button.canvas.motion_notify_event(0,0) ,以便您的代码如下所示:

import matplotlib.pyplot as plt
from matplotlib.widgets import Button

def toggle(_):
button.status ^= True

color = [0, 1, 0] if button.status else [1, 0, 0]
button.color = color
button.hovercolor = color

button.canvas.motion_notify_event(0,0)

button = Button(plt.axes([.1, .1, .8, .8]), 'Press me')
button.status = True
button.on_clicked(toggle)

plt.show()

关于python - 手动调用matplotlib的draw,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35736219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com