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

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

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

愉快编码!

相关推荐
小王子10241 分钟前
设计模式Python版 工厂方法模式
python·设计模式·工厂方法模式
Jackilina_Stone10 分钟前
【python】三帧差法实现运动目标检测
python·计算机视觉·od·运动目标检测
l1m0_12 分钟前
什么是波士顿矩阵,怎么制作?AI工具一键生成战略分析图!
人工智能·ai·信息可视化·矩阵·aigc·波士顿矩阵
Icomi_14 分钟前
【PyTorch】3.张量类型转换
c语言·c++·人工智能·pytorch·python·深度学习·神经网络
抱抱宝29 分钟前
Pyecharts之饼图与多饼图的应用
信息可视化·数据挖掘·数据分析
GISer Liu1 小时前
深入理解Transformer中的解码器原理(Decoder)与掩码机制
开发语言·人工智能·python·深度学习·机器学习·llm·transformer
金融OG1 小时前
6. 马科维茨资产组合模型+政策意图AI金融智能体(DeepSeek-V3)增强方案(理论+Python实战)
大数据·人工智能·python·算法·机器学习·数学建模·金融
金融OG1 小时前
99.15 金融难点通俗解释:毛利率vs营业利润率vs净利率
大数据·数据库·python·机器学习·金融
大数据张老师1 小时前
【实践】Python实现气象数据分析与可视化
python·信息可视化·数据分析·可视化
抱抱宝1 小时前
Pyecharts之双轴图表的魅力
python·信息可视化·数据分析·pyecharts