在 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)
相关推荐
jufeng130718 小时前
【系列:手搓自主 AI Agent:Hermes 架构原理剖析 · 第 11 篇】
python·ai agent·mcp
En^_^Joy18 小时前
Django项目配置全攻略:settings配置文件
后端·python·django
for_ever_love__19 小时前
python基础语法学习: 异常的传递性
开发语言·python·学习
AC赳赳老秦19 小时前
公开图片 OCR 数据提取:OpenClaw 合规采集公开信息图,识别文字与表格并转化为结构化数据
java·大数据·前端·数据库·python·php·openclaw
麻雀飞吧20 小时前
零基础选量化工具,先把问题说清楚
人工智能·python
段一凡-华北理工大学21 小时前
AI推动工业智能化转型~系列文章20:工业 AI 平台架构:云-边-端协同的技术体系
人工智能·python·架构·工业平台·云-边协同
CodeBlog-star21 小时前
Harness Engineering:Pi Agent 架构深度解析
人工智能·python·架构·harness工程
简不变21 小时前
将components下的文件夹复制到别一个文件夹下,并重新生成CMakelist.txt文件
python
AC赳赳老秦21 小时前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw