如何在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
相关产品推荐
相关产品推荐

