在 Matplotlib 中fontweight一般怎么设置

fontweight一般怎么设置,还有其他设置吗

  • fontweight一般怎么设置,还有其他设置吗
      • [⚖️ `fontweight` 的设置方法](#⚖️ fontweight 的设置方法)
      • [🎨 其他常用文本设置](#🎨 其他常用文本设置)
        • [1. 字体基本属性](#1. 字体基本属性)
        • [2. 布局与外观属性](#2. 布局与外观属性)
        • [3. 添加背景框 (`bbox`)](#3. 添加背景框 (bbox))
      • [📦 批量设置技巧 (`fontdict`)](#📦 批量设置技巧 (fontdict))

fontweight一般怎么设置,还有其他设置吗

在 Matplotlib 中,fontweight 用于控制文本的粗细程度。除了粗细,你还可以对字体大小、样式、颜色等进行丰富的设置。

⚖️ fontweight 的设置方法

fontweight 参数接受两种类型的值:字符串或数字。

使用字符串(推荐)

这是最常用和直观的方式,Matplotlib 提供了一系列预定义的选项:

  • 'light': 细体
  • 'normal': 正常(默认值)
  • 'medium': 中等
  • 'semibold': 半粗体
  • 'bold': 粗体
  • 'heavy': 重粗体
  • 'black': 最粗
使用数字

你也可以使用 100 到 900 之间的整数来更精确地控制粗细,数值越大字体越粗。

  • 100: 最细
  • 400: 等同于 'normal'
  • 700: 等同于 'bold'
  • 900: 最粗

示例:

python 复制代码
plt.text(0.5, 0.8, '普通字体', fontweight='normal')
plt.text(0.5, 0.7, '粗体', fontweight='bold')
plt.text(0.5, 0.6, '数字粗体', fontweight=700)

🎨 其他常用文本设置

除了 fontweightplt.text() 函数还支持大量参数来美化你的文本。

1. 字体基本属性

这些参数直接控制字体的外观。

  • fontsize : 设置字体大小。可以是数字(如 12)或预定义字符串(如 'small', 'large', 'x-large')。
  • fontstyle : 设置字体样式。
    • 'normal': 正常
    • 'italic': 斜体
    • 'oblique': 倾斜体
  • fontfamily : 设置字体族。可以是通用名称(如 'serif', 'sans-serif', 'monospace')或系统中安装的具体字体(如 'SimHei', 'Arial')。
  • color : 设置字体颜色。可以是颜色名称(如 'red')、十六进制值(如 '#FF5733')或 RGB 元组。
2. 布局与外观属性

这些参数控制文本在图中的位置、方向和背景。

  • alpha: 设置透明度,值在 0(完全透明)到 1(完全不透明)之间。
  • rotation : 设置文本旋转角度,可以是数字(如 45 代表45度)或字符串 'vertical' / 'horizontal'
  • horizontalalignment : 设置水平对齐方式,选项有 'left', 'center', 'right'
  • verticalalignment : 设置垂直对齐方式,选项有 'bottom', 'center', 'top', 'baseline'
3. 添加背景框 (bbox)

bbox 参数可以为文本添加一个背景框,使其在复杂的图形背景上更加突出。它接收一个字典,字典内可以设置框的样式。

常用 bbox 字典参数:

  • boxstyle : 框的形状,如 'square', 'round', 'larrow' 等。
  • facecolor (或 fc): 背景填充颜色。
  • edgecolor (或 ec): 边框颜色。
  • linewidth (或 lw): 边框线条粗细。

示例:

python 复制代码
plt.text(0.5, 0.5, '带背景框的文本', 
         fontsize=12, 
         color='white',
         bbox=dict(boxstyle='round', facecolor='#1f77b4', edgecolor='none', alpha=0.8))

📦 批量设置技巧 (fontdict)

当你需要为多个文本元素应用相同的样式时,可以将这些属性定义在一个字典中,然后通过 fontdict 参数传入,避免重复代码。

python 复制代码
# 定义一个字体属性字典
my_font = {
    'fontsize': 12,
    'fontweight': 'bold',
    'color': '#1f77b4',
    'fontfamily': 'sans-serif'
}

# 在 text() 函数中使用 ** 解包字典
plt.text(0.1, 0.9, '使用 fontdict', **my_font)
plt.text(0.1, 0.8, '同样样式', **my_font)
相关推荐
爱昏羔1 小时前
上篇:从PDF到向量库 — 物流行业RAG系统的知识库构建全解析
python·langchain·pdf·agent·rag
麻雀飞吧2 小时前
最新量化实现难点,规则和流程要先有形状
人工智能·python
用户0332126663672 小时前
使用 Python 在 Word 文档中添加或删除文本框
python
LadenKiller2 小时前
近期AI量化辅助,工具重点要跟学习阶段变化
人工智能·python
phltxy3 小时前
LangChain_Agent中间件实战
人工智能·python·深度学习·语言模型·中间件·langchain
axinawang3 小时前
第14课:查找、统计、分割字符串
python
倒流时光三十年3 小时前
第一阶段 02 · Mapping 与数据类型(text vs keyword 是重点)
后端·python·django
小大宇3 小时前
python蓝图、拦截器、异常处理、redis队列、线程池、控制台及日志文件输出
python
喝茶与编码4 小时前
真实业务场景:高并发 Upsert 死锁频发?InnoDB 锁机制与重试机制深度解析
数据库·python
chouchuang4 小时前
day-044-Matplotlib进阶-高级图表
matplotlib