如何更新mousemove上的matplotlib图例文本

时间:2017-06-27 11:21:57

标签: python matplotlib

带有可拖动标记的Matplotlib - 图例应该通过将鼠标移到线上来更新值:

enter image description here

我正在尝试更新matplotlib图形图例中我的可拖动标记的当前值。用户可以单击标记并将其移动到该行上。 这是通过事件处理实现的。

我想只更新图例,而不是像canvas.draw那样触发命令,因为我正在为标记设置动画,并且不想一次又一次地重绘图片。

1 个答案:

答案 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)

不重绘完整画布的最佳解决方案取决于可拖动标记的实现方式。