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

Matplotlib批量添加自定义X轴刻度与网格的实现方法

高效实现多组自定义X轴刻度及网格

不用手动逐个输入刻度值,直接拼接多个np.arange生成的区间数组就能搞定,下面是具体实现:

基础实现方案

针对你需要的[-8, -7, -6, -5, 1, 2, 3, 4]这类多区间刻度,分别生成每个区间的刻度数组,再合并后设置给X轴:

import matplotlib.pyplot as plt
import numpy as np

# 示例数据
x = np.concatenate([np.arange(-8, -4), np.arange(1, 5)])
y = np.random.randn(len(x))

plt.plot(x, y, 'o-')

# 合并多区间刻度
x_ticks = np.concatenate([np.arange(-8, -4), np.arange(1, 5)])
plt.xticks(x_ticks)

# 开启X轴网格,自动对齐刻度
plt.grid(True, axis='x')

plt.show()

通用封装方案

如果需要频繁生成多组刻度,可以封装成函数,传入多个(起始值, 终止值, 步长)的元组,自动生成合并后的刻度:

def get_multi_range_ticks(range_list):
    ticks = []
    for start, stop, step in range_list:
        ticks.extend(np.arange(start, stop, step))
    return np.array(ticks)

# 调用示例:生成目标刻度
x_ticks = get_multi_range_ticks([(-8, -4, 1), (1, 5, 1)])
plt.xticks(x_ticks)
plt.grid(True, axis='x')

这样不管你需要多少组不同间距的刻度,只需传入对应的区间参数即可,完全替代手动输入的繁琐操作。网格会自动匹配你设置的所有刻度位置,无需额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 02:52:08