Python::Plotly 自动提取鼠标点击的点的坐标信息并保

2024-03-14  本文已影响0人  倪桦

功能说明:这段代码实现了在Jupyter Notebook中生成一个平面绘图,并添加了悬停交互功能。当用户将鼠标悬停在某个坐标点上时,绘图仪会显示该点的标签信息,如( 例如“点01,标签A,坐标(x,y)” ) 。如果用户用鼠标单击该点(而不是仅将鼠标悬停在其上),将触发点击事件,所有与点击事件相关的点的标签信息将自动更新并添加到一个列表中。同时,触发点击事件的点会以新的颜色和大小进行标记,以突出显示。此外,绘图仪的右侧面板还会列出部分触发点击事件的点的部分信息,以提供更多交互性和可视化信息,使用户能够更好地理解和分析绘图数据。

Jupyter-Plotly交互式选点

代码实现

1、在jupyter中创建交互式Fig

import numpy as np
import plotly.graph_objects as go
import ipywidgets as widgets

# 生成测试数据
x = np.random.uniform(-10, 10, size=50)  # 生成随机x坐标
y = np.sin(x)  # 根据x坐标生成y坐标,形成sin曲线

# 创建绘图
fig = go.FigureWidget(data=[go.Scatter(x=x, y=y, mode='markers')])  # 创建一个散点图
scatter = fig.data[0]  # 获取散点图数据
scatter.marker.color = ['black'] * len(x)  # 设置散点颜色为黑色
scatter.marker.size = [10] * len(x)  # 设置散点大小为10

# 创建输出捕获控件,用以在绘图侧边面板输出点击事件信息
out = widgets.Output()
out.append_stdout("Output of selected points data:\n\n")  # 在输出控件中显示提示信息

2、处理鼠标点击响应事件

上一篇下一篇

猜你喜欢

热点阅读