带有可拖动标记的 Matplotlib - 图例应通过将鼠标移动到线上来更新值:
我正在尝试更新 matplotlib 图例中可拖动标记的当前值。用户可以单击标记并将其在线上移动。 这是通过事件处理来实现的。
我只想更新图例,而不是触发像 canvas.draw
这样的命令,因为我正在为标记设置动画,并且不想一次又一次地重绘图片。
最佳答案
您可以通过从texts
中选择适当的项目来设置图例leg
的文本,并设置新文本,例如对于第一个图例项
leg.texts[0].set_text("new text")
将鼠标的 x 坐标设置为图例的示例如下所示
leg = plt.legend()
def update(event):
leg.texts[0].set_text(event.x)
plt.gcf().canvas.draw_idle()
plt.gcf().canvas.mpl_connect("motion_notify_event", update)
不重绘整个 Canvas 的最佳解决方案取决于可拖动标记的实现方式。
关于python - 如何更新 mousemove 上的 matplotlib 图例文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44779033/