plt图片里字体设置
时间: 2025-03-25 20:28:15 浏览: 18
如何在 Matplotlib 中设置字体
在 Matplotlib 的 plt
模块中,可以通过多种方式来设置生成图片中的字体样式。以下是几种常见的方法:
使用全局配置字典 rcParams 来统一设置字体
通过修改 Matplotlib 的全局参数字典 rcParams
可以实现整个绘图环境下的字体统一样式设定。例如,可以指定默认字体名称以及其属性。
import matplotlib.pyplot as plt
from matplotlib import rcParams
# 设置全局字体为 SimHei (黑体),并启用显示负号的功能
rcParams['font.family'] = 'SimHei'
rcParams['axes.unicode_minus'] = False
上述代码片段设置了全局使用的字体为 “SimHei”,即中文环境下常用的黑体[^1]。
动态加载本地 TTF 字体文件到 Matplotlib 并应用
如果需要使用自定义的 TrueType (.ttf) 文件作为图表上的字体,则可通过 font_manager.FontProperties
类动态加载特定字体文件,并将其应用于具体文本对象上。
from matplotlib.font_manager import FontProperties
custom_font = FontProperties(fname='/path/to/your/custom-font.ttf') # 替换为你实际路径
plt.text(0.5, 0.5, u"你好", fontproperties=custom_font, size=50)
这里展示了如何利用绝对路径指向外部 .ttf 文件创建一个新的字体实例 custom_font ,随后该字体被用于绘制字符串 "你好"[^2]。
针对单个元素单独调整字体特性
对于某些特殊需求场景下可能只需要更改个别部分而非整体风格时,可以直接针对这些组件传递额外的关键字参数来自由定制它们的表现形式。比如下面的例子演示了怎样分别控制标题、X 轴标签和 Y 轴标签各自的字体大小与加粗程度等细节特征。
fig, ax = plt.subplots()
ax.set_title('Sample Plot', fontsize=24, fontweight='bold')
ax.set_xlabel('X-Axis Label', fontsize=18, color='blue')
ax.set_ylabel('Y-Axis Label', fontsize=16, style='italic')
for label in ax.get_xticklabels() + ax.get_yticklabels():
label.set_fontsize(12)
label.set_color('red')
在这个例子中,我们不仅改变了各个轴名的颜色及尺寸,还特别强调了一下刻度标记的文字颜色设为了红色以便更醒目一些[^2]。
总结
以上介绍了三种主要途径去管理 Matplotlib 输出图像里的字体呈现效果——从最简单的全盘覆盖式的解决方案直到精细至每一个独立组成部分都可自由操控的程度不等。开发者可以根据项目实际情况灵活选用最适合自己的策略组合起来完成最终目标。