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

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

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

愉快编码!

相关推荐
思则变1 小时前
[Pytest] [Part 2]增加 log功能
开发语言·python·pytest
漫谈网络1 小时前
WebSocket 在前后端的完整使用流程
javascript·python·websocket
try2find3 小时前
安装llama-cpp-python踩坑记
开发语言·python·llama
DataGear3 小时前
如何在DataGear 5.4.1 中快速制作SQL服务端分页的数据表格看板
javascript·数据库·sql·信息可视化·数据分析·echarts·数据可视化
博观而约取4 小时前
Django ORM 1. 创建模型(Model)
数据库·python·django
精灵vector5 小时前
构建专家级SQL Agent交互
python·aigc·ai编程
Zonda要好好学习5 小时前
Python入门Day2
开发语言·python
Vertira6 小时前
pdf 合并 python实现(已解决)
前端·python·pdf
太凉6 小时前
Python之 sorted() 函数的基本语法
python
项目題供诗6 小时前
黑马python(二十四)
开发语言·python