bp = titanic.boxplot(column='age', by='pclass', grid=False)
for i in [1, 2, 3]:
    y = titanic.age[titanic.pclass == i].dropna()
x = np.random.normal(i, 0.04, size=len(y))
plot(x, y, 'r.', alpha=0.2)
Добавление разброса точек к диаграмме с использованием matplotlib