Matplotlib库学习之text(函数)

Matplotlib库学习之text(函数)

一、简介

ax.text 是 Matplotlib 中用于在指定的坐标位置添加文本的函数。它可以用于标注图中的特定点,或添加说明和标签等信息,是图形可视化中一个重要的工具。

二、语法和参数

语法
ax.text(x, y, s, fontdict=None, withdash=<deprecated>, **kwargs)
参数
  • x, y: 必选参数,表示文本的 x 和 y 坐标。

  • s: 必选参数,表示要显示的文本内容。

  • fontdict: 可选,字典类型,用于设置文本的字体属性,如字体大小、颜色等。

  • withdash: 已弃用,不建议使用。

  • kwargs: 可选,其他可选参数用于进一步自定义文本的显示效果。

    常用的 kwargs 参数包括:

    • fontsize: 字体大小,可以是整数或字符串。
    • color: 文本颜色,可以是字符串或 RGB/HEX 值。
    • rotation: 旋转角度,单位为度。
    • ha: 水平对齐方式,如 'center', 'left', 'right'
    • va: 垂直对齐方式,如 'center', 'top', 'bottom'
    • bbox: 用于设置文本周围的边框属性,接受字典类型。
      • boxstyle: 控制边框的形状和样式。常见的值有:
        • 'square': 矩形边框。
        • 'circle': 圆形边框。
        • 'round': 带圆角的矩形边框。
        • 'larrow', 'rarrow', 'darrow': 分别是左、右、双向箭头形状。
        • 'round4': 圆角矩形,圆角半径比 'round' 大。
      • facecolor: 设置文本框的背景颜色,可以是字符串或 RGB/HEX 值。
      • edgecolor: 设置文本框的边框颜色,可以是字符串或 RGB/HEX 值。
      • linewidth: 设置边框的宽度,值为一个数字。
      • linestyle: 设置边框的线条样式,常见的值有 'solid', 'dashed', 'dashdot', 'dotted'
      • alpha: 设置透明度,值为 0 到 1 之间的浮点数。值越小,透明度越高。
      • pad: 控制文本与边框之间的填充(间距),值为一个数字,单位是点(points)。
      • capstyle: 设置边框的端点样式。常见值有 'butt', 'round', 'projecting'
      • joinstyle: 设置边框连接处的样式。常见值有 'miter', 'round', 'bevel'
返回值

返回一个 Text 对象,表示添加到图形中的文本。

三、实例

3.1 在图中添加简单文本
import matplotlib.pyplot as plt

# 创建图形
fig, ax = plt.subplots()

# 添加数据点
ax.plot([1, 2, 3, 4], [10, 20, 25, 30], marker='o')

# 在图中添加文本
ax.text(2, 20, s="Point (2, 20)", fontsize=12, color='blue')

# 显示图形
plt.show()

输出:

显示一张折线图,其中在点 (2, 20) 处显示文本 "Point (2, 20)",文本为蓝色,字体大小为12。
3.2 添加带背景框的文本
import matplotlib.pyplot as plt

# 创建图形
fig, ax = plt.subplots()

# 添加数据点
ax.plot([1, 2, 3, 4], [10, 20, 25, 30], marker='o')

# 在图中添加带背景框的文本
ax.text(3, 25, "Point (3, 25)", fontsize=14, color='white', bbox=dict(facecolor='red', alpha=0.5))

# 显示图形
plt.show()

输出:

显示一张折线图,其中在点 (3, 25) 处显示文本 "Point (3, 25)",文本为白色,背景框为红色,透明度为0.5。
3.3 旋转和对齐文本
import matplotlib.pyplot as plt

# 创建图形
fig, ax = plt.subplots()

# 添加数据点
ax.plot([1, 2, 3, 4], [10, 20, 25, 30], marker='o')

# 在图中添加旋转和对齐的文本
ax.text(1, 10, "Point (1, 10)", fontsize=12, rotation=45, ha='right', va='bottom', color='green')

# 显示图形
plt.show()

输出:

显示一张折线图,其中在点 (1, 10) 处显示文本 "Point (1, 10)",文本旋转45度,水平对齐为右对齐,垂直对齐为底部对齐,文本颜色为绿色。

四、注意事项

  • ax.textxy 坐标是相对于数据坐标系的,而不是相对于图形的绝对位置。
  • 当使用 bbox 参数设置文本背景时,可以通过字典中的 facecoloralpha 来控制背景颜色和透明度。
  • 可以使用 fontsize 来控制文本的大小,rotation 来控制文本的旋转角度,以适应不同的可视化需求。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值