为了账号安全,请及时绑定邮箱和手机立即绑定

Python 和 Seaborn 的人口金字塔

Python 和 Seaborn 的人口金字塔

交互式爱情 2023-06-27 16:14:08
我正在尝试创建一个按性别分组的人口金字塔。不幸的是,我无法让它发挥作用。情节只是一张白色的图片,轴似乎以某种方式颠倒了。也许有人可以帮助我,谢谢。import pandas as pdimport seaborn as snsimport matplotlib.pyplot as plt# I read this testdata from a csv filetestdata = pd.DataFrame({'age': [20, 20, 21, 21, 22, 22, 23, 23],                'gender': ["male", "female", "male", "female", "male", "female", "male", "female"],                'count': [10, -12, 13, -10, 16, -14, 17, -16]});plt.figure(figsize=(13, 10), dpi=80)group_col = 'gender'order_of_bars = testdata['age'].unique()[::-1]colors = [plt.cm.Spectral(i / float(len(testdata[group_col].unique()) - 1)) for i in range(len(testdata[group_col].unique()))]for c, group in zip(colors, testdata[group_col].unique()):    barplot = sns.barplot(x='count', y='age', data=testdata.loc[testdata[group_col] == group, :], order=order_of_bars, color=c, label=group)plt.xlabel("Counts")plt.ylabel("Age")plt.yticks(fontsize=12)plt.title("Pyramide", fontsize=22)plt.legend()plt.show()
查看完整描述

1 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

如果您正在寻找这个人口金字塔,让我们尝试:

sns.barplot(data=testdata, x='count',y='age',
            hue='gender',orient='horizontal', 
            dodge=False)

输出:

//img4.sycdn.imooc.com/649a9a740001d7ab03780261.jpg

查看完整回答
反对 回复 2023-06-27
  • 1 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信