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

Matplotlib调整XY图坐标轴刻度字号与轴间距方法

Matplotlib坐标轴刻度字号与间距调整方案

需求说明

  • 调大X、Y轴刻度(ticks)字体大小,与轴标签字号匹配(目标fontsize=30)
  • 调整两个坐标轴的刻度间距,视觉效果对齐参考图

效果对比

期望参考效果

期望效果图

当前实现效果

当前绘图效果

初始实现代码

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
x = [1.53,0.84,0.7,0.6,0.53,0.47,0.38,0.35]
y = [19.64,14.33,11.25,7.58,2.84,0.87,0.36,0]
plt.plot(x, y, marker="o")

plt.xlabel(r'Grid spacing $\AA$', fontsize=20)
plt.ylabel('% error', fontsize=20)
plt.title('Protein solvation', fontsize=20)
plt.gca().invert_xaxis()

plt.show()

实现代码

直接通过tick_params设置刻度字号,用MultipleLocator固定刻度间隔即可,修改后完整代码如下:

import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator
x = [1.53,0.84,0.7,0.6,0.53,0.47,0.38,0.35]
y = [19.64,14.33,11.25,7.58,2.84,0.87,0.36,0]

fig, ax = plt.subplots(figsize=(8,6))
ax.plot(x, y, marker="o")

# 统一设置轴标签、标题字号为目标值30
ax.set_xlabel(r'Grid spacing $\AA$', fontsize=30)
ax.set_ylabel('% error', fontsize=30)
ax.set_title('Protein solvation', fontsize=30)

# 设置双轴主刻度标签字号为30,和轴标签字号匹配
ax.tick_params(axis='both', which='major', labelsize=30)

# 设置刻度间距:X轴步长0.2,Y轴步长5,和参考图刻度密度一致
ax.xaxis.set_major_locator(MultipleLocator(0.2))
ax.yaxis.set_major_locator(MultipleLocator(5))

ax.invert_xaxis()
plt.tight_layout() # 自动适配布局,避免大字号下标签被画布边缘截断
plt.show()

调整说明

  • 如果需要调整刻度疏密,直接修改MultipleLocator传入的步长参数即可,数值越小刻度越密集
  • 画布尺寸figsize可以根据自己的展示需求调整,不影响刻度字号和间距的设置逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 00:39:19