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

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

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

愉快编码!

相关推荐
何双新几秒前
第21讲、Odoo 18 配置机制详解
linux·python·开源
Wish3D4 分钟前
阿里云OSS 上传文件 Python版本
开发语言·python·阿里云
阿福不是狗2 小时前
Python使用总结之Mac安装docker并配置wechaty
python·macos·docker
gen_3 小时前
mac环境下的python、pycharm和pip安装使用
python·macos·pycharm
AI视觉网奇3 小时前
pycharm 左右箭头 最近编辑
ide·python·pycharm
思绪无限3 小时前
Pycharm的终端无法使用Anaconda命令行问题详细解决教程
ide·python·pycharm·终端·命令行·anaconda·问题教程
漫步云端-r3 小时前
Pycharm的使用技巧总结
ide·python·pycharm
风逸hhh4 小时前
python打卡day46@浙大疏锦行
开发语言·python
火兮明兮4 小时前
Python训练第四十三天
开发语言·python
互联网杂货铺6 小时前
完美搭建appium自动化环境
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例