带有可拖动标记的Matplotlib - 图例应该通过将鼠标移到线上来更新值:
我正在尝试更新matplotlib图形图例中我的可拖动标记的当前值。用户可以单击标记并将其移动到该行上。 这是通过事件处理实现的。
我想只更新图例,而不是像canvas.draw
那样触发命令,因为我正在为标记设置动画,并且不想一次又一次地重绘图片。
答案 0 :(得分:0)
您可以通过从leg
中选择相应的项目来设置图例texts
的文字,然后设置新文字,例如对于第一个图例项目
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)
不重绘完整画布的最佳解决方案取决于可拖动标记的实现方式。