week7-文本

Matplotlib 文字(Text)知识点

两种写法:pyplot 简易 API 和 面向对象 OO 写法(ax),推荐 OO 写法,适合多子图。

一、5 个核心文字函数

表格

函数 (plt) OO 写法 作用 坐标参考
plt.title() ax.set_title() 子图 Axes 标题 子图区域
plt.xlabel() ax.set_xlabel() X 轴标签 子图坐标轴
plt.ylabel() ax.set_ylabel() Y 轴标签 子图坐标轴
plt.text (x,y,"文字") ax.text (x,y,"文字") 在图内任意位置添加文字 数据坐标(x,y 是图表数值)
plt.annotate() ax.annotate() 带箭头标注文字 数据坐标,支持箭头
plt.suptitle() fig.suptitle() 整个画布 Figure 总标题 画布全局

二、通用文字参数(全部文字函数通用)

  • fontsize:字号,数字;也可用'large'/'x-small'
  • color:文字颜色
  • fontweight:bold粗体 / normal正常
  • ha 水平对齐:center居中、left左、right右
  • va 垂直对齐:top上、center中、bottom下
  • bbox:文字背景框,字典格式 bbox=dict(facecolor='yellow',alpha=0.5)

中文必加两行,否则方框乱码:

python 复制代码
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False #负号正常显示

三、完整示例代码

python 复制代码
import matplotlib.pyplot as plt
import numpy as np

#解决中文乱码
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False

fig, ax = plt.subplots(figsize=(6,4))
x = np.array([1,2,3,4])
y = np.array([2,4,1,3])
ax.plot(x,y)

#1.子图标题
ax.set_title("子图标题", fontsize=14, color="blue", fontweight="bold")
#2.坐标轴标签
ax.set_xlabel("X轴", fontsize=12)
ax.set_ylabel("Y轴", fontsize=12)
#3.图内文字(数据坐标)
ax.text(2, 3.5, "普通文字", fontsize=11, bbox=dict(facecolor='#eeeeee'))
#4.带箭头标注
ax.annotate("最低点", xy=(3,1), xytext=(2.2,0.2),
            arrowprops=dict(arrowstyle="->",color="red"))
#5.画布总标题
fig.suptitle("画布总标题", fontsize=16)

plt.show()

四、高频考点

  1. ax.text(x,y,text):x,y 是数据坐标 ,不是画布百分比;fig.text()才是画布相对坐标 (0~1)
  2. suptitle是整张画布大标题 ,set_title只是单个子图标题,多子图时两者经常一起用
  3. annotate的xy是箭头指向点 ;xytext是文字所在位置
  4. bbox给文字加背景框,美化文字块

五、易混区分

  • fig.text(x,y,"text"):x,y∈0,1,画布相对坐标,不受坐标轴范围影响
  • ax.text(x,y,"text"):x,y 是图中数据坐标,会跟着 xlim/ylim 缩放
相关推荐
Java后端的Ai之路1 小时前
01-React基础教程
开发语言·前端·python·react.js·前端框架
我的xiaodoujiao1 小时前
Django 基础知识详细图文教程 14-Django 表单定义与使用
开发语言·后端·python·django
2601_962885722 小时前
如何把 A 股行情高效存成 Parquet/Feather?
python
yi0112 小时前
Leetcode 49 用 “身份证‘‘巧解
人工智能·笔记·python·算法·leetcode·哈希表
老歌老听老掉牙2 小时前
基于STL模型的轴向截面轮廓提取与三维可视化方法
python·stl
yi0112 小时前
DAY22: LeetCode 733:图像渲染——从二维网格开始理解 DFS 和 BFS
数据结构·笔记·python·算法·leetcode·深度优先·宽度优先
Είναι η κοπέλα2 小时前
llama.cpp 与 GGUF 格式:本地大模型的“裸引擎“
开发语言·人工智能·pytorch·python·conda
大草原的小灰灰3 小时前
Python面向对象编程
开发语言·python
华研前沿标杆游学3 小时前
企业参访入口 | 走进华为坂田基地,深圳华为坂田基地考察游学参访
python