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

时间:2020-05-11 09:29:28

标签: python matplotlib subplot

我正在创建子图。我想为所有子图设置相同的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()

1 个答案:

答案 0 :(得分:1)

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

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