共享坐标轴场景下调整轴刻度标签显示位置
解决Matplotlib共享坐标轴后重新显示刻度标签的问题
当然可以实现。当设置sharex=True时,Matplotlib默认只在最底部的共享轴子图上显示x刻度标签,关闭右下角的ax[1,1]后,只需手动开启ax[0,1]的x轴刻度和标签显示即可。
修改后的代码如下:
import matplotlib.pyplot as plt import numpy as np fig, ax = plt.subplots(2,2, sharex=True) ax[0,0].plot(np.arange(10)) ax[0,1].plot(np.arange(10)) ax[1,0].plot(np.arange(10)) ax[1,1].axis('off') # 关键步骤:开启ax[0,1]的x轴刻度及底部标签显示 ax[0,1].tick_params(axis='x', which='both', bottom=True, labelbottom=True) ax[0,0].set_ylabel('y1') ax[1,0].set_ylabel('y2') ax[1,0].set_xlabel('x1') ax[0,1].set_xlabel('x2') plt.show()
关键说明:
sharex=True会让所有共享x轴的子图共用一套刻度,但默认仅最底部的子图显示刻度标签。- 通过
tick_params方法指定axis='x',同时开启bottom=True(显示刻度线)和labelbottom=True(显示刻度标签),就能让ax[0,1]的x轴刻度标签显示在x2标签的正上方。
内容的提问来源于stack exchange,提问作者dkv
相关产品推荐
相关产品推荐

