在 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)
相关推荐
2601_9623413010 小时前
计算机毕业设计之jsp考研在线复习平台
java·大数据·开发语言·hadoop·python·考研·课程设计
云烟成雨TD10 小时前
LangFlow 1.x 系列【7】工作流创建与部署指南
人工智能·python·agent
月疯10 小时前
np.where()[0]的用法
开发语言·python·numpy
KaMeidebaby11 小时前
卡梅德生物技术快报|纳米抗体技术全套实操流程:AFB1 全合成文库淘选 + 分子对接定点突变参数手册
人工智能·python·tcp/ip·算法·机器学习
hnxaoli11 小时前
统信小程序(十六)xls转xlsx
开发语言·python·小程序
梦想三三11 小时前
Flask + PyTorch模型部署实战:从训练权重到API接口完整工程解析(附完整代码)
人工智能·pytorch·python·flask·模型推理·ai 工程化
用户2986985301411 小时前
Python 实现 Excel 与 TXT 文本的高效转换与导出
后端·python·excel
杨超越luckly11 小时前
Agent 应用指南:基于 OurAirports 的中国机场设施数据可视化
python·html·github·可视化·机场设施
卷无止境11 小时前
pytest 从零到实战:要想代码好,测试少不了
后端·python
吃糖的小孩12 小时前
# RootGraph v1.5 收工:我给 QQ 机器人补上了聊天运行时的“黑匣子”
python