matplotlib绘制箱线图旋转X轴标签超出画布区域如何解决
X轴标签被裁切的修复方法
旋转X轴标签后显示不全,是因为画布默认预留的底部边距不足,无法容纳旋转后的标签长度,两种可直接复用的修复方案:
- 方案1:自动适配布局(优先使用)
在plt.show()前加一行plt.tight_layout(),工具会自动计算所有标签、标题的占用空间,调整子图位置避免内容裁切,修改后完整代码:
plt.figure(figsize=(8, 4)) df.boxplot() plt.xticks(rotation=45,ha='right', rotation_mode="anchor") plt.tight_layout() plt.show()
- 方案2:手动调整底部边距(适配自定义布局场景)
如果自动调整的留白大小不符合需求,可以手动指定底部预留空间,bottom参数取值范围0-1,数值越大底部留白越多,可根据标签实际长度微调:
plt.figure(figsize=(8, 4)) df.boxplot() plt.xticks(rotation=45,ha='right', rotation_mode="anchor") plt.subplots_adjust(bottom=0.25) plt.show()
注:现有代码里设置的
ha='right'、rotation_mode="anchor"参数已经是旋转标签的最优对齐配置,无需修改。

内容的提问来源于stack exchange,提问作者mahmood
相关产品推荐
相关产品推荐

