使用 Matplotlib 和 mplcursors 创建交互式数据可视化,鼠标悬停动态显示数据

在本博客中,我们将探讨如何使用 Matplotlib(Python 中流行的绘图库)和 mplcursors(一个为 Matplotlib 图表添加交互式数据光标的库)创建交互式数据可视化。

效果图:

环境设置

首先,请确保已安装 Matplotlib 和 mplcursors。你可以使用以下命令安装它们:

bash 复制代码
pip install matplotlib mplcursors

代码

python 复制代码
import matplotlib.pyplot as plt
import numpy as np
import mplcursors

# 创建数据
x = np.linspace(0, 2 * np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)

# 绘制曲线图
fig, ax = plt.subplots()
line1, = ax.plot(x, y1, label='正弦曲线')
line2, = ax.plot(x, y2, label='余弦曲线')

# 添加标签
ax.set_xlabel('X轴')
ax.set_ylabel('Y轴')
ax.legend()

# 悬停事件处理函数
def on_hover(sel):
    ind = sel.target.index
    x_val = sel.target[0]
    y_val = sel.target[1]
    label = sel.artist.get_label()

    print(f"在{label}上的点 ({x_val:.2f}, {y_val:.2f})")

# 使用 mplcursors 注册悬停事件处理函数
mplcursors.cursor(hover=True).connect("add", on_hover)

# 显示图表
plt.show()

代码解析

我们首先使用 numpy 库创建了样本数据。

使用 Matplotlib 绘制了两条曲线(正弦和余弦)。

添加了标签和图例以增强可读性。

使用 mplcursors 库添加了一个悬停事件,用于打印有关悬停点的信息。

交互式探索

运行代码后,将会弹出一个窗口显示绘制的曲线。将鼠标悬停在曲线上的点上,你将看到有关该点(x,y)坐标以及所在曲线的信息。

这种交互功能对于详细探索数据点非常有用。

随意尝试不同的数据集并根据需要自定义代码。

愉快编码!

相关推荐
zh路西法2 分钟前
【离策略强化学习】DDPG、TD3 与 SAC:核心公式推导与源码解析
python·强化学习·ddpg·td3·sb3·off-policy·sac
秋秋小事4 分钟前
python 数据契约层FastAPI+Pydantic(一)
python
AIFQuant4 分钟前
Python港股实时行情API接入:恒生股票数据获取与AH股溢价监控实战
开发语言·数据库·python·金融·实时数据api
朝阳资本论11 分钟前
小马智行杀入伦敦牵手Uber,中国Robotaxi出海怎么打?
python
外收内放14 分钟前
Python基础语法练习题(70)
开发语言·python
老唐77715 分钟前
Agent 开发入门教程:从零搭建一个 Python AI Agent
人工智能·python·深度学习·langchain·大模型·agent·智能体
宿州派大星3 小时前
Python实战:PyQt5 + OpenCV + Dlib 打造AI桌面应用
人工智能·python·qt
承渊政道4 小时前
【从零开始大模型开发与微调:基于PyTorch与ChatGLM】(开源大模型ChatGLM高级定制化应用实战)
人工智能·pytorch·python·llm·模型微调·glm
Smoothcloud润云10 小时前
PyTorch大模型权重加载与启动耗时优化实战:定位磁盘、内存与显存瓶颈
人工智能·pytorch·python·深度学习·gpu算力
databook11 小时前
从循环到向量化:NumPy提速的7个关键思维
python·数据分析·numpy