Понять код Python для создания пирамиды населения - PullRequest
0 голосов
/ 30 января 2019

Я нашел этот действительно крутой сюжет ( визуализация matplotlib ), чтобы сделать популяционную пирамиду.Я хотел бы изменить условие для цветов.Вместо мужчин / женщин я хочу, чтобы все столбцы были одного цвета, и этот цвет зависит от тега, который я пишу на пол.Итак, некоторые целые столбцы синим цветом, а остальные - фиолетовым.

Но я не понимаю, как создаются цвета.

Я представлял, что удаление .unique () в df [group_col] .unique () будет работать, но при переключении тега ничего не отображается.

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns

# Read data
df = pd.read_csv("https://raw.githubusercontent.com/selva86/datasets/master/email_campaign_funnel.csv")

# Draw Plot
plt.figure(figsize=(13,10), dpi= 80)
group_col = 'Gender'
order_of_bars = df.Stage.unique()[::-1]
colors = [plt.cm.Spectral(i/float(len(df[group_col].unique())-1)) for i in range(len(df[group_col].unique()))]

for c, group in zip(colors, df[group_col].unique()):
    sns.barplot(x='Users', y='Stage', data=df.loc[df[group_col]==group, :], order=order_of_bars, color=c, label=group)

# Decorations    
plt.xlabel("$Users$")
plt.ylabel("Stage of Purchase")
plt.yticks(fontsize=12)
plt.title("Population Pyramid of the Marketing Funnel", fontsize=22)
plt.legend()
plt.show()

Пирамидальный сюжет

Есть идеи, как это сделать?

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