Ответ 1
Обычный способ совместного использования осей состоит в создании общих свойств при создании. Либо
fig=plt.figure()
ax1 = plt.subplot(211)
ax2 = plt.subplot(212, sharex = ax1)
или
fig, (ax1, ax2) = plt.subplots(nrows=2, sharex=True)
Поэтому совместное использование осей после их создания не должно быть необходимым.
Однако если по какой-то странной причине вам нужно обменивать оси после их создания (фактически, используя другую библиотеку, которая создает некоторые подзаголовки, например здесь, может быть причиной), все равно будет решение:
Используя
ax1.get_shared_x_axes().join(ax1, ax2)
создает связь между двумя осями, ax1
и ax2
. В отличие от совместного использования во время создания, вам нужно будет вручную установить шестнадцатеричные метки для одной из осей (в случае, если это требуется).
Полный пример:
import numpy as np
import matplotlib.pyplot as plt
t= np.arange(1000)/100.
x = np.sin(2*np.pi*10*t)
y = np.cos(2*np.pi*10*t)
fig=plt.figure()
ax1 = plt.subplot(211)
ax2 = plt.subplot(212)
ax1.plot(t,x)
ax2.plot(t,y)
ax1.get_shared_x_axes().join(ax1, ax2)
ax1.set_xticklabels([])
plt.show()