概述
在 matplotlib 中,如果想要在画布上添加一组横纵较差的直线,需要使用到 Cursor 类,该类实现了图形化界面中任何位置的数值定位可视化某种意义上来讲,这种横纵交叉线类似数值放大镜,可以清楚地显示任何位置的坐标数值,这对使用者来说可以更方便的窥探数据的规律和特点。
Cursor 类源码如下:
# ax: 指定光标附加的轴,一般是一个Axes对象;
# horizOn: 指定是否绘制水平线;
# vertOn: 指定是否绘制垂直线;
# useblit: 如果后端支持,使用blitting加快绘图速度;
# lineprops: 指定水平线和垂直线的属性,本质上是指定Line2D实例的相关属性
class Cursor(AxesWidget):
def __init__(self, ax, horizOn=True, vertOn=True, useblit=False,
**lineprops):
示例
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Cursor
lineprops = dict(color='red', lw=2)
fig, ax = plt.subplots(1, 1)
ax.set_facecolor("lemonchiffon")
x = np.random.random(100)
y = np.random.random(100)
ax.scatter(x, y, marker='o')
ax.set_xlim(-0.02, 1.02)
ax.set_ylim(-0.02, 1.02)
cursor = Cursor(ax, useblit=True, **lineprops)
plt.show()
运行效果:
往期回顾
- 【matplotlib】可视化解决方案——如何解决matplotlib中文乱码问题
- 【matplotlib】可视化解决方案——如何设置matplotlib风格集
- 【matplotlib】可视化解决方案——如何设置轴标签的透明度和大小
- 【matplotlib】可视化解决方案——如何向图表中添加数据表
- 【matplotlib】可视化解决方案——如何更改绘图区域背景颜色
- 【matplotlib】可视化解决方案——如何使用数学公式
- 【matplotlib】可视化解决方案——绘图刻度设置
- 【matplotlib】可视化解决方案——共享绘图区域问题
- 【matplotlib】可视化解决方案——子图设置大标题问题解决方案
- 【matplotlib】可视化解决方案——子图间距问题解决方案
文中难免会出现一些描述不当之处(尽管我已反复检查多次),欢迎在留言区指正,相关的知识点也可进行分享,希望大家都能有所收获!!如果觉得我的文章写得还行,不妨支持一下。你的每一个转发、关注、点赞、评论都是对我最大的支持!