Я пытаюсь создать составной барплот, но с seaborn
все выглядит довольно сложно. У меня есть эти данные:
x = pd.DataFrame({"Groups" : np.random.choice(["Group1", "Group2", "Group3"], 100),
"Sex" : np.random.choice(["Masculine", "Femenine"], 100)})
x = x.groupby(["Groups", "Sex"]).size().reset_index(name="count")
x["percent (%)"] = round(x.groupby("Groups").transform(lambda x: x/sum(x))*100,1)
x
![enter image description here](https://i.stack.imgur.com/HsYJL.png)
И у меня есть этот участок:
sns.barplot(x="Groups", y="percent (%)", hue="Sex", data=x);
Тем не менее, я смотрю, что в каждой группе есть столбец с накоплением, ось Y от 0 до 1 и «group4» с итогом. Когда я пытаюсь построить границы вроде здесь , это дает мне ошибку, так как этот график морских линий не позволяет этого, и у каждого столбца с накоплением, найденного мной, есть столбцы для каждой группы со значениями каждого группа в соответствующем столбце, и у меня есть все группы в одном столбце. Любые идеи?
Я ищу простое решение (с или без seaborn) без изменения структуры данных (за исключением добавления "общей группы", но я не знаю, проще ли это добавить сумму к данным, или вычисляя сумму внутри графика).