Seaborn Distplot различной ширины бара на каждой фигуре - PullRequest
0 голосов
/ 14 октября 2019

Извините за предоставление изображения, но я думаю, что это лучший способ показать мою проблему. enter image description here

Как вы можете видеть, все ширины корзины отличаются от моейПонимание того, что это показывает диапазон rent_hours. Я не уверен, почему разные фигуры имеют разную ширину корзины, даже если я ее не установил.

Мой код выглядит следующим образом:

figure, axes = plt.subplots(nrows=4, ncols=3)
figure.set_size_inches(18,14)
plt.subplots_adjust(hspace=0.5)

for ax, age_g in zip(axes.ravel(), age_cat):
    group = total_usage_df.loc[(total_usage_df.age_group == age_g) & (total_usage_df.day_of_week <= 4)]
    sns.distplot(group.rent_hour, ax=ax, kde=False)
    ax.set(title=age_g)
    ax.set_xlim([0, 24])

figure.suptitle("Weekday usage pattern", size=25);

дополнительный вопрос:

Seaborn: Как получить счет по оси y для distplot с использованием PairGrid , поскольку здесь сказано, что kde = False, однако подсчет оси y http://seaborn.pydata.org/generated/seaborn.distplot.html в документе, он использует kde = Falseи все еще, кажется, показывает что-то еще. Как я могу установить ось Y для отображения количества?

Я пробовал sns.distplot (group.rent_hour, ax = ax, norm_hist = True), и он все еще, кажется, дает что-то другое, а не count.

sns.distplot (group.rent_hour, ax = ax, kde = False) дает мне счет, однако я не знаю, почему он дает мне счет.

1 Ответ

1 голос
/ 14 октября 2019

Ответ 1:

Из документации :

norm_hist : bool, необязательно

Если Trueвысота гистограммы показывает плотность, а не счет. Это подразумевается, если вычерчивается KDE или подобранная плотность.

Таким образом, вам также необходимо учитывать ширину вашего бина, то есть вычислить площадь под кривой, а не только сумму высот бина.

Ответ 2:

# Plotting hist without kde
ax = sns.distplot(your_data, kde=False)

# Creating another Y axis
second_ax = ax.twinx()

#Plotting kde without hist on the second Y axis
sns.distplot(your_data, ax=second_ax, kde=True, hist=False)

#Removing Y ticks from the second axis
second_ax.set_yticks([])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...