fontweight一般怎么设置,还有其他设置吗
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)