matplotlib交互式数据光标实现——mpldatacursor

本文介绍了可提供交互式数据光标的包。阐述了不同matplotlib版本下的安装方式,建议高版本源码安装。解析了官方实例的应用流程、包结构、函数定义等,还概述了其他官方实例功能,指出该包功能丰富,可作交互学习案例。

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

简介

mpldatacursor包可以为matplotlib提供交互式的数据光标(弹出式注释框)。
它的典型功能是:

  • 鼠标左键单击图表数据元素时会弹出文本框显示最近的数据元素的坐标值。
  • 鼠标右键单击文本框取消显示数据光标。
  • d键时切换显示\关闭数据光标。
    在这里插入图片描述

安装

如果matplotlib版本低于3.3可以直接使用pip安装
pip install mpldatacursor
如果matplotlib版本高于3.3,虽然pip安装成功,但是运行案例时会出现AttributeError: 'ScalarFormatter' object has no attribute 'pprint_val'错误。
通过查看源码可知:

try:
    # Again, older versions of mpl
    return formatter.pprint_val(x)
except AttributeError:
    # 3.3.0 or later
    return formatter.format_data_short(x)

通过分析,预计是因为使用了国内pip源,mpldatacursor包还未修复该问题(pip 安装的 mpldatacursor包版本号是0.7.1)。
因此,建议到https://github.com/joferkington/mpldatacursor
下载源码,进行源码安装(源码安装的 mpldatacursor包版本号是0.7.dev0)。
python setup.py install

基本应用(官方实例)解析

应用流程

mpldatacursor包基本应用方式比较简单:

  1. mpldatacursor包中导入datacursor函数。
  2. 应用datacursor函数。

包结构

查看源码可知,mpldatacursor包的结构如下:

mpldatacursor
      convenience.py
      datacursor.py
      pick_info.py
      __init__.py

datacursor函数定义在convenience.py中,datacursor函数的返回值是DataCursor类实例。
DataCursor类定义在datacursor.py中。
pick_info.py定义了一系列和弹出文本框相关的函数,供DataCursor类调用。

datacursor函数定义

datacursor函数定义可知:

  • datacursor函数可以不提供参数,这样图像内所有数据元素都会应用交互式数据光标。
  • datacursor函数可以指定哪些数据元素应用交互式数据光标。
def datacursor(artists=None, axes=None, *

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值