Eje independiente para cada subtrama en pandas boxplot

El siguiente código ayuda a obtener subtramas con cuadros de colores únicos. Pero todas las subtramas comparten un conjunto común de ejes x e y. Esperaba tener un eje independiente para cada subtrama:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import PathPatch

df = pd.DataFrame(np.random.rand(140, 4), columns=['A', 'B', 'C', 'D'])

df['models'] = pd.Series(np.repeat(['model1','model2', 'model3', 'model4',     'model5', 'model6', 'model7'], 20))

bp_dict = df.boxplot(
by="models",layout=(2,2),figsize=(6,4),
return_type='both',
patch_artist = True,
)

colors = ['b', 'y', 'm', 'c', 'g', 'b', 'r', 'k', ]
for row_key, (ax,row) in bp_dict.iteritems():
    ax.set_xlabel('')
    for i,box in enumerate(row['boxes']):
        box.set_facecolor(colors[i])

plt.show()

Aquí hay una salida del código anterior:

Estoy tratando de tener ejes X e Y separados para cada subtrama ...

Respuestas a la pregunta(3)

Su respuesta a la pregunta