在 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)

🎨 其他常用文本设置

除了 fontweight,plt.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)
相关推荐
代码山河5 小时前
Python就业方向全解析:后端、爬虫、数据分析、AI你选哪个?
python·学习·架构·教程·面向对象·项目
在世修行5 小时前
智学文枢:题目流水线
python·多线程·状态机·pyside
梯度下降者5 小时前
零基础入门Python 爬虫
爬虫·python·数据分析·入门指南·webcrawler
“AI国潮设计-小江”7 小时前
【AIGC实战】Python+Stable Diffusion打造“英歌舞财神”IP,解锁“马到成功”等爆款情绪营销文案设计
开发语言·人工智能·python·prompt·aigc
benchmark_cc8 小时前
用 Python 拉 A 股全市场实时快照:Notebook 请求、结果校验与易错点
python·数据分析·pandas·量化交易·股票数据·quantdash
伞伞悦读8 小时前
【第70期】Adam二阶矩不是方差:偏差校正、动量与AdamW完整实验
python
外收内放9 小时前
Python基础语法练习题(73)
java·前端·python
锋行天下9 小时前
Langgraph HITL 中断运行,用户输入后输出打字效果
人工智能·python
时早玖沐9 小时前
给 AstrBot 写一个天气推送插件:12 次提交、6 个坑
python·开源·ai编程
触底反弹9 小时前
🚀 FastAPI 五大重难点深度剖析:从 500 报错到彻底搞懂 Depends、Pydantic 与 SQLAlchemy
python·fastapi