¿Cómo trazar 2 lmplots nacidos de lado a lado?

Trazar 2 distplots o scatterplots en una subtrama funciona muy bien:

import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import pandas as pd
%matplotlib inline

# create df
x = np.linspace(0, 2 * np.pi, 400)
df = pd.DataFrame({'x': x, 'y': np.sin(x ** 2)})

# Two subplots
f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
ax1.plot(df.x, df.y)
ax1.set_title('Sharing Y axis')
ax2.scatter(df.x, df.y)

plt.show()

Pero cuando hago lo mismo con unlmplot en lugar de cualquiera de los otros tipos de gráficos me sale un error:

AttributeError: el objeto 'AxesSubplot' no tiene el atributo 'lmplot'

¿Hay alguna forma de trazar estos tipos de gráficos uno al lado del otro?

Respuestas a la pregunta(1)

Su respuesta a la pregunta