python - seaborn: o compartilhamento do rótulo X não está funcionando como esperado

Estou lidando com um conjunto de dados que mostra relações entre dois pontos, como pontos de ônibus. Por exemplo, temos pontos de ônibus A, B, C e D.

Quero fazer um gráfico de histograma que mostre, para cada ponto de ônibus, quanto tempo leva para chegar aos outros 3 pontos de ônibus.

Obviamente, não há tempo de A a A, portanto, isso deve ficar em branco.

Quando ploto, vejo que a primeira linha mostra B C D, a segunda linha mostra A, C, D, etc. As colunas estão desalinhadas e as cores não representam a mesma coluna em cada linha.

Se eu adicionar sharex = True, ele simplesmente remove os rótulos x em cada eixo. Obviamente, não é isso que eu quero ver aqui.

Em vez disso, gostaria de ver 4 colunas na ordem de A, B, C, D. Quando é de A a A, deve ficar em branco e as cores devem ser consistentes.

Alguém sabe como fazer isso?

import pandas as pd
import numpy as np
import seaborn as sns
%matplotlib inline

time=np.random.randn(1000)
point1 = ['A','B','C','D'] * 250
point2 = ['A'] * 250 + ['B'] * 250 + ['C'] * 250 + ['D'] * 250 

df_time = pd.DataFrame(
    {'point1': point1,
     'point2': point2,
     'time': time
    })
df_time=df_time[df_time['point1']!=df_time['point2']] ##cannot sell to another

fig, ax = plt.subplots(nrows=4, sharey=True)
fig.set_size_inches(12, 16)
for point1i, axi in zip(point1, ax.ravel()):
    sns.boxplot(data=df_time[df_time['point1']==point1i], x='point2', y='time', ax=axi)

questionAnswers(1)

yourAnswerToTheQuestion