Я пытаюсь создать сгруппированный блокпост, представляющий несколько дистрибутивов с разными размерами.Эти размеры должны быть показаны в гистограмме сверху.
Мой текущий код:
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import numpy.random as rnd
some_x=[1,2,3,7,9,10,11,12,15,18]
x_appearances=[]
data_for_each_x=[]
for i in range(0, len(some_x)):
rand_int=rnd.randint(10,30)
data_for_each_x.append([np.random.randn(rand_int)])
for j in range(0, rand_int):
x_appearances.append(i)
f, (ax_hist, ax_box) = plt.subplots(2, sharex=True, gridspec_kw={"height_ratios": (.15, .85)})
ax_hist=sns.distplot(x_appearances, kde=False, hist_kws=dict(alpha=0.7), ax=ax_hist, bins=len(some_x))
ax_box = sns.boxplot(data=data_for_each_x, showfliers=False)
plt.xticks(plt.xticks()[0], some_x)
plt.show()
Как это выглядит
Теперь это почтичто я хочу.Однако отметки оси гистограммы не совпадают с отметками прямоугольника.
Также было бы замечательно, если бы был способ включить кривую регрессии высшего порядка (скажем, порядка 3)из медиан.