Аргумент order
Seaborn может принимать список, который может содержать значения, которых нет в данных. Таким образом, вы можете указать уникальные значения из столбцов x.
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame({'x':['A','B','C','D','E','F'],'y1':np.random.rand(6)})
df2 = pd.DataFrame({'x':['B','D','E'],'y2':np.random.rand(3)})
order = np.unique(list(df.x)+list(df2.x))
fig,axes = plt.subplots(2, sharex='all')
sns.barplot(x='x',y='y1',data=df,ax=axes[0], order=order)
sns.barplot(x='x',y='y2',data=df2,ax=axes[1], order=order)
plt.show()