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

如何用Python绘制多条曲线?解决plt.subplots()子图间X轴残留问题

解决子图间X轴移除问题

直接上可运行的代码,核心思路是通过共享X轴+隐藏中间子图的X轴元素来实现效果:

import matplotlib.pyplot as plt
import numpy as np

# 生成3条0-1区间的测试曲线数据
x = np.linspace(0, 10, 100)
y_curves = [np.random.uniform(0, 1, size=100) for _ in range(3)]

# 创建垂直排列的子图,设置sharex=True让所有子图共用X轴
fig, axes = plt.subplots(nrows=3, ncols=1, figsize=(8, 6), sharex=True)

# 循环绘制每条曲线
for ax, y in zip(axes, y_curves):
    ax.plot(x, y)
    ax.set_ylim(0, 1)  # 强制Y轴范围在0-1之间

# 隐藏除最后一个子图外的X轴刻度和标签
for ax in axes[:-1]:
    ax.tick_params(axis='x', which='both', bottom=False, labelbottom=False)
    # 要是连X轴线也想去掉,就加下面这句
    # ax.spines['bottom'].set_visible(False)

plt.tight_layout()
plt.show()

关键细节说明

  • sharex=True:让所有子图共享同一X轴,既避免重复刻度,也让后续隐藏操作更简单。
  • tick_params:bottom=False隐藏刻度线,labelbottom=False隐藏刻度标签,精准控制显示内容。
  • 如果不需要共享X轴,也可以手动逐个隐藏:
    # 针对单个子图单独隐藏X轴元素
    axes[0].set_xticks([])
    axes[0].set_xticklabels([])
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 14:57:08