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

如何在Matplotlib中缩短X轴长度但保留0-800预设刻度范围?

解决X轴刻度范围不变但缩短显示长度的方法

以下是几种实现需求的实用方法,基于Matplotlib库:

  • 方法一:调整子图宽高比
    通过设置子图的宽高比,让X轴显示长度被压缩,同时保留原刻度范围:

    import matplotlib.pyplot as plt
    
    fig, ax = plt.subplots()
    ax.set_xlim([0, 800])
    # 设置宽高比为2(高度/宽度=2),数值越大X轴显示长度越短
    ax.set_box_aspect(2)
    plt.show()
    
  • 方法二:手动修改坐标轴Spine长度
    直接调整X轴的显示区间(基于子图的相对位置),缩短轴的可见长度:

    import matplotlib.pyplot as plt
    
    fig, ax = plt.subplots()
    ax.set_xlim([0, 800])
    # 获取底部X轴的spine,设置其显示范围为子图的10%到90%位置
    x_spine = ax.spines['bottom']
    x_spine.set_bounds(0.1, 0.9)
    # 可选:调整刻度标签距离轴的距离,避免截断
    ax.tick_params(axis='x', pad=10)
    plt.show()
    

    你可以根据需要修改set_bounds的参数(取值0-1,对应子图左右边缘的相对位置),数值区间越小,X轴显示长度越短。

  • 方法三:调整画布/子图尺寸
    通过缩小画布的宽度,直接缩短X轴的显示长度:

    import matplotlib.pyplot as plt
    
    # 创建宽4英寸、高6英寸的画布,宽度越小X轴显示越短
    fig, ax = plt.subplots(figsize=(4, 6))
    ax.set_xlim([0, 800])
    plt.show()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 00:20:35