You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

python-matplotlib如何修改坐标轴刻度缩放系数标签的字体大小

matplotlib科学计数法量级标签字体大小调整方案

你遇到的坐标轴顶部/侧边的科学计数法量级标签(即offset text)属于坐标轴的独立文本元素,不会随普通刻度标签的设置同步变更,可通过以下方案调整:

解决方案

1. 针对单个坐标轴设置

获取对应坐标轴的offset文本对象,直接指定字号即可,示例代码:

# 调整x轴量级标签字号,字号数值按需修改
ax.xaxis.get_offset_text().set_fontsize(16)
# 调整y轴量级标签字号
ax.yaxis.get_offset_text().set_fontsize(16)

如果需要同时修改字体、颜色等其他属性,也可以在该对象上调用对应方法:

# 示例:修改量级标签的字体与颜色
ax.xaxis.get_offset_text().set_fontfamily("Times New Roman")
ax.xaxis.get_offset_text().set_color("black")

2. 全局统一设置所有图表

如果需要所有生成的图表的量级标签都统一字号,可通过rcParams全局配置:

import matplotlib.pyplot as plt
# 全局设置量级标签字号,数值按需修改
plt.rcParams["axes.formatter.offset_size"] = 16
# 可同时配置触发科学计数法的数值范围,示例为数值小于1e-5或大于1e5时触发
plt.rcParams["axes.formatter.limits"] = [-5, 5]

完整可运行示例

import matplotlib.pyplot as plt
import numpy as np

# 生成带大/小数值的示例数据
x = np.linspace(0, 2e6, 100)
y = np.linspace(0, 3e-4, 100)

fig, ax = plt.subplots(figsize=(6,4))
ax.plot(x, y)

# 设置普通刻度标签字号为14
ax.tick_params(axis="both", labelsize=14)
# 同步设置量级标签字号为14
ax.xaxis.get_offset_text().set_fontsize(14)
ax.yaxis.get_offset_text().set_fontsize(14)

plt.show()

科学图表坐标轴量级标签未同步放大示意图

内容的提问来源于stack exchange,提问作者sapountzis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 12:45:04