ax1.plot(list(range(10)), 'b-')
ax2 = fig.add_subplot(2, 1, 2, sharex=ax1)
ax2.plot(list(range(10)), 'r-')
plt.setp(ax1.get_xticklabels(), visible=False)
plt.show()
matplotlib share x axis but don't show x axis tick labels for both, just one