Гистограмма с накоплением Seaborn / гистограмма - PullRequest
0 голосов
/ 22 декабря 2018

У меня есть pandas.DataFrame, и я хочу построить график на основе двух столбцов: Age (int), Survived (int - 0 или 1).Теперь у меня есть что-то вроде этого:

enter image description here

Это код, который я использую:

class DataAnalyzer:

    def _facet_grid(self, func, x: List[str], col: str = None, row: str = None) -> None:
        g = sns.FacetGrid(self.train_data, col=col, row=row)
        if func == sns.barplot:
            g.map(func, *x, ci=None)
        else:
            g.map(func, *x)
        g.add_legend()
        plt.show()

    def analyze(self) -> None:
        # Check if survival rate is connected with Age
        self._facet_grid(plt.hist, col='Survived', x=['Age'])

Так это показано на двухподзаговоры.Это хорошо, но труднее увидеть разницу между количеством записей, которые имеют 0 против 1 в столбце Survived, для определенного возрастного диапазона.

Поэтому я хочу что-то получитькак это:

enter image description here

В этом сценарии вы можете увидеть эту разницу.Есть ли способ сделать это на seaborn (потому что там я могу легко работать на pandas.DataFrame)?Я не хочу использовать ваниль matplotlib, если это возможно

1 Ответ

0 голосов
/ 23 декабря 2018

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

import matplotlib.pyplot as plt 
import seaborn as sns 
tips = sns.load_dataset("tips") 
sns.distplot(tips.total_bill, color="gold", kde=False, hist_kws={"alpha": 1}) 
sns.distplot(tips[tips.sex == "Female"].total_bill, color="blue", kde=False, hist_kws={"alpha":1}) 
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...