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

Matplotlib对数图中无法设置双轴刻度字体大小一致的问题

解决Matplotlib对数图X轴刻度字体大小不一致问题

问题出在设置刻度字体的顺序:你先调用ax.tick_params()设置字体大小,之后才切换到对数刻度。Matplotlib在切换对数刻度时,会重新生成X轴的刻度标签,这会覆盖之前设置的字体大小,导致X轴和Y轴刻度字体不一致。

修复方案

将设置刻度字体大小的代码移到设置对数刻度之后,确保对数刻度生成完成后再应用自定义字体样式:

import numpy as np
import matplotlib.pyplot as plt

fontsize = 8

x = np.linspace(5.6e-5,6.5e-5, 120)
y = np.logspace(-10, 10, 120)

fig = plt.figure(figsize=(3.5, 2.65), constrained_layout=True)
ax = fig.gca()

ax.plot(x,y)

plt.xlabel('X label', fontsize=fontsize)
plt.ylabel('Y label', fontsize=fontsize)

# 先切换对数刻度
ax.set_yscale('log') 
ax.set_xscale('log')     

# 再统一设置刻度字体大小
ax.tick_params(axis='both', labelsize=fontsize)

plt.show()

替代写法

也可以单独指定X、Y轴的刻度字体,效果相同:

# 切换对数刻度后单独设置
ax.set_yscale('log') 
ax.set_xscale('log')     
plt.xticks(fontsize=fontsize)
plt.yticks(fontsize=fontsize)

这样修改后,X轴和Y轴的刻度字体大小就会保持一致了。

内容的提问来源于stack exchange,提问作者T. Silva

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 10:41:03