- Matplotlib 基础
- Matplotlib - 首页
- Matplotlib - 简介
- Matplotlib - 与 Seaborn 的比较
- Matplotlib - 环境设置
- Matplotlib - Anaconda 发行版
- Matplotlib - Jupyter Notebook
- Matplotlib - Pyplot API
- Matplotlib - 简单绘图
- Matplotlib - 保存图形
- Matplotlib - 标记
- Matplotlib - 图形
- Matplotlib - 样式
- Matplotlib - 图例
- Matplotlib - 颜色
- Matplotlib - 色图
- Matplotlib - 色图归一化
- Matplotlib - 选择色图
- Matplotlib - 色条
- Matplotlib - 文本
- Matplotlib - 文本属性
- Matplotlib - 子图标题
- Matplotlib - 图像
- Matplotlib - 图像蒙版
- Matplotlib - 注释
- Matplotlib - 箭头
- Matplotlib - 字体
- Matplotlib - 什么是字体?
- 全局设置字体属性
- Matplotlib - 字体索引
- Matplotlib - 字体属性
- Matplotlib - 刻度
- Matplotlib - 线性和对数刻度
- Matplotlib - 对称对数和 Logit 刻度
- Matplotlib - LaTeX
- Matplotlib - 什么是 LaTeX?
- Matplotlib - LaTeX 用于数学表达式
- Matplotlib - LaTeX 在注释中的文本格式化
- Matplotlib - PostScript
- 在注释中启用 LaTeX 渲染
- Matplotlib - 数学表达式
- Matplotlib - 动画
- Matplotlib - 艺术家
- Matplotlib - 使用 Cycler 样式化
- Matplotlib - 路径
- Matplotlib - 路径效果
- Matplotlib - 转换
- Matplotlib - 刻度和刻度标签
- Matplotlib - 弧度刻度
- Matplotlib - 日期刻度
- Matplotlib - 刻度格式化程序
- Matplotlib - 刻度定位器
- Matplotlib - 基本单位
- Matplotlib - 自动缩放
- Matplotlib - 反转轴
- Matplotlib - 对数轴
- Matplotlib - Symlog
- Matplotlib - 单位处理
- Matplotlib - 带单位的椭圆
- Matplotlib - 脊柱
- Matplotlib - 轴范围
- Matplotlib - 轴刻度
- Matplotlib - 轴刻度
- Matplotlib - 格式化轴
- Matplotlib - Axes 类
- Matplotlib - 双轴
- Matplotlib - Figure 类
- Matplotlib - 多图
- Matplotlib - 网格
- Matplotlib - 面向对象接口
- Matplotlib - PyLab 模块
- Matplotlib - Subplots() 函数
- Matplotlib - Subplot2grid() 函数
- Matplotlib - 锚定艺术家
- Matplotlib - 手动等值线
- Matplotlib - 坐标报告
- Matplotlib - AGG 过滤器
- Matplotlib - 飘带框
- Matplotlib - 填充螺旋线
- Matplotlib - Findobj 演示
- Matplotlib - 超链接
- Matplotlib - 图像缩略图
- Matplotlib - 使用关键字绘图
- Matplotlib - 创建 Logo
- Matplotlib - 多页 PDF
- Matplotlib - 多处理
- Matplotlib - 打印标准输出
- Matplotlib - 复合路径
- Matplotlib - Sankey 类
- Matplotlib - MRI 与 EEG
- Matplotlib - 样式表
- Matplotlib - 背景颜色
- Matplotlib - Basemap
- Matplotlib 事件处理
- Matplotlib - 事件处理
- Matplotlib - 关闭事件
- Matplotlib - 鼠标移动
- Matplotlib - 点击事件
- Matplotlib - 滚动事件
- Matplotlib - 按键事件
- Matplotlib - 选择事件
- Matplotlib - 放大镜
- Matplotlib - 路径编辑器
- Matplotlib - 多边形编辑器
- Matplotlib - 计时器
- Matplotlib - Viewlims
- Matplotlib - 缩放窗口
- Matplotlib 小部件
- Matplotlib - 光标小部件
- Matplotlib - 带注释的光标
- Matplotlib - 按钮小部件
- Matplotlib - 复选框
- Matplotlib - 套索选择器
- Matplotlib - 菜单小部件
- Matplotlib - 鼠标光标
- Matplotlib - 多光标
- Matplotlib - 多边形选择器
- Matplotlib - 单选按钮
- Matplotlib - RangeSlider
- Matplotlib - 矩形选择器
- Matplotlib - 椭圆选择器
- Matplotlib - 滑块小部件
- Matplotlib - 跨度选择器
- Matplotlib - 文本框
- Matplotlib 绘图
- Matplotlib - 条形图
- Matplotlib - 直方图
- Matplotlib - 饼图
- Matplotlib - 散点图
- Matplotlib - 箱线图
- Matplotlib - 小提琴图
- Matplotlib - 等值线图
- Matplotlib - 3D 绘图
- Matplotlib - 3D 等值线
- Matplotlib - 3D 线框图
- Matplotlib - 3D 曲面图
- Matplotlib - Quiver 图
- Matplotlib 有用资源
- Matplotlib - 快速指南
- Matplotlib - 有用资源
- Matplotlib - 讨论
Matplotlib - 锚定艺术家
在 Matplotlib 中,**艺术家 (Artist)** 是一个基本对象,它表示绘图中几乎所有组件。无论是线条、文本、轴还是任何其他图形元素,Matplotlib 绘图中的所有内容都是艺术家 (Artist) 的实例或派生自艺术家 (Artist) 类。
**锚定艺术家 (Anchored Artists)** 是一种特殊的自定义艺术家,可以锚定到绘图上的特定位置。它们可用于添加注释、箭头和其他锚定到特定点或区域的自定义元素。
请参阅以下示例以供参考 -
在上图中,您可以观察到文本框、圆形和尺寸条都锚定在绘图上的特定位置。
Matplotlib 中的锚定艺术家
在 Matplotlib 中有两个模块提供锚定艺术家,它们是 -
Matplotlib.offsetbox
Mpl_toolkits.axes_grid1.anchored_artists
matplotlib.offsetbox 模块
此模块提供诸如 **AnchoredOffsetbox** 和 **AnchoredText** 之类的类,允许您相对于父轴或特定锚点锚定任意艺术家或文本。这些可用于更通用的注释和装饰。
示例
现在,让我们使用 **matplotlib.offsetbox** 模块中的 **AnchoredText** 类在绘图上的特定位置实现两个**锚定文本框**。
import matplotlib.pyplot as plt from matplotlib.offsetbox import AnchoredText # Create a figure and axis fig, ax = plt.subplots(figsize=(7, 4)) # Anchored Text Box 1 at = AnchoredText("Anchored text-box 1", loc='upper left', prop=dict(size=10), frameon=True) at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2") ax.add_artist(at) # Anchored Text Box 2 at2 = AnchoredText("Anchored text-box 2", loc='center', prop=dict(size=16), frameon=True, bbox_to_anchor=(0.5, 0.5), bbox_transform=ax.transAxes) at2.patch.set_boxstyle("round,pad=0.,rounding_size=0.5") ax.add_artist(at2) # Display the plot plt.show()
输出
执行上述代码后,我们将获得以下输出 -
mpl_toolkits.axes_grid1.anchored_artists 模块
此模块提供诸如 **AnchoredDirectionArrows**、**AnchoredAuxTransformBox**、**AnchoredDrawingArea** 和 **AnchoredSizeBar** 之类的专用锚定艺术家。每个类用于不同的目的。
让我们看看每个类的用法 -
**AnchoredAuxTransformBox** - 一个带有转换坐标的锚定容器。
**AnchoredDirectionArrows** - 绘制两个垂直箭头以指示方向。
**AnchoredDrawingArea** - 一个具有固定大小和可填充 DrawingArea 的锚定容器。
**AnchoredSizeBar** - 绘制一个水平比例尺,下方带有居中对齐的标签。
示例
此示例演示了如何使用 AnchoredDirectionArrows 类向 Matplotlib 绘图添加视觉上吸引人的锚定方向箭头。
import matplotlib.pyplot as plt import numpy as np import matplotlib.font_manager as fm from mpl_toolkits.axes_grid1.anchored_artists import AnchoredDirectionArrows np.random.seed(19680801) fig, ax = plt.subplots(figsize=(7, 4)) ax.imshow(np.random.random((10, 10))) # Rotated arrow fontprops = fm.FontProperties(family='serif') rotated_arrow = AnchoredDirectionArrows( ax.transAxes, '30', '120', loc='center', color='w', angle=30, fontproperties=fontprops ) ax.add_artist(rotated_arrow) plt.show()
输出
执行上述代码后,我们将获得以下输出 -