如何为python中的所有子图设置相同的xtick?

我正在创建子图。我想为所有子图设置相同的xtick。我能够为所有子图设置通用的xlabel,但我真的不知道如何对xticks进行设置。有什么帮助吗?

fig, axs = plt.subplots(2, 2)
axs[0,0].plot(np.float64(datatime),np.float64(Tm),'--',color='black')
axs[0,0].set_ylim([min(Tm)-10,max(Tm)+10])
axs[0,0].set_ylabel('Temp. [°C]')

axs[0,1].plot(np.float64(datatime),np.float64(precip),'--',color='black')
axs[0,1].set_ylim([min(precip),max(precip)+20])
axs[0,1].set_ylabel('Rainfall [mm]')

axs[1,0].plot(np.float64(datatime),np.float64(PET),color='magenta')
axs[1,0].set_ylim([min(PET),max(PET)+10])
axs[1,0].set_ylabel('PET [mm]')

axs[1,1].plot(np.float64(datatime),np.float64(delta),color='cyan')
axs[1,1].set_ylim([min(delta),max(delta)+10])
axs[1,1].set_ylabel('P-PET [mm]')

plt.xticks(np.arange(min(datatime), max(datatime)+1, 12))   #here i define xticks

for ax in axs.flat:
    ax.set(xlabel='Time [months]')

plt.show()
评论
  • 撸啊撸
    撸啊撸 回复

    在for循环中,您可以为每个子图设置相同的刻度

    for ax in axs.flat:
        ax.set(xlabel='Time [months]')
        ax.set_xticks(np.arange(min(datatime), max(datatime)+1, 12))