使用 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)坐标以及所在曲线的信息。

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

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

愉快编码!

相关推荐
云雾J视界10 分钟前
AI驱动半导体良率提升:基于机器学习的晶圆缺陷分类系统搭建
人工智能·python·机器学习·智能制造·数据驱动·晶圆缺陷分类
朝凡FR25 分钟前
AIShareTxt入门:快速准确高效的为金融决策智能体提供股票技术指标上下文
python·ai编程
Q_Q51100828533 分钟前
python+django/flask的城市供水管网爆管预警系统-数据可视化
spring boot·python·django·flask·node.js·php
小白学大数据3 小时前
增量爬取策略:如何持续监控贝壳网最新成交数据
爬虫·python·性能优化
计算机学姐4 小时前
基于SpringBoot的高校社团管理系统【协同过滤推荐算法+数据可视化】
java·vue.js·spring boot·后端·mysql·信息可视化·推荐算法
@forever@8 小时前
【JAVA】LinkedList与链表
java·python·链表
程序员爱钓鱼8 小时前
Python编程实战:面向对象与进阶语法——类型注解与代码规范(PEP 8)
后端·python·ipython
程序员爱钓鱼8 小时前
Python实战:用高德地图API批量获取地址所属街道并写回Excel
后端·python·ipython
reasonsummer9 小时前
【教学类-97-06】20251105“葡萄”橡皮泥黏贴(小班主题《苹果与橘子》)
python
卖个几把萌10 小时前
【16】Selenium+Python 接管已打开谷歌浏览器
python·selenium·测试工具