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

标签 python matplotlib

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

enter image description here

我正在尝试更新 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/

相关文章:

python - 使用 Wand 以预定义图案填充图像

python - matplotlib阶跃函数中的线型

python - 我如何通过麦克风接收语音输入 - python

python - Matplotlib 绘制虚线圆圈(使用 plt.plot 而不是 plt.scatter)

python - 如何使用pip和自制软件安装SciPy Stack?

python - 将包含字符串和 NAN 的列转换为 Pandas 中的整数列表

python - 有没有办法通过 Pandas 中两列的逻辑比较进行分组?

python - matplotlib/ Pandas : put line label along the plotted lines in time series plot

python - 我试图在无摩擦的地板上模拟一个质量,并用 Spring 固定在一端。不工作

python - 绘制数据框列 - 日期时间