python cursor函数_matplotlib交互式数据光标mpldatacursor的实现

简介

mpldatacursor包可以为matplotlib提供交互式的数据光标(弹出式注释框)。

它的典型功能是:

鼠标左键单击图表数据元素时会弹出文本框显示最近的数据元素的坐标值。

鼠标右键单击文本框取消显示数据光标。

按d键时切换显示\关闭数据光标。

ebed09fc6a6fc4286379497baf53423e.png

安装

如果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)。

下载源码,进行源码安装(源码安装的 mpldatacursor包版本号是0.7.dev0)。

python setup.py install

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

应用流程

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

从mpldatacursor包中导入datacursor函数。

应用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, **kwargs):

"""

Create an interactive data cursor for the specified artists or specified

axes. The data cursor displays information about a selected artist in a

"popup" annotation box.

If a specific sequence of artists is given, only the specified artists will

be interactively selectable. Otherwise, all manually-plotted artists in

*axes* will be used (*axes* defaults to all axes in all figures).

Parameters

-----------

artists : a ma

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值