大家好,我是执念斩长河,一个刚刚学习python绘图的学渣。今天非常开心阅读了《python数据可视化》(黑马程序员编著)其中的“绘制人口金字塔图”章节被我成功运行出来,特此写篇博文纪念自己。

0.前言

人口金字塔图用来描述人口年龄与性别分布状况的图形,用来表现人口的现状及其发展类型。人口金字塔图一般以年龄为纵轴、人口数为横轴,按年龄自然顺序自下而上在纵轴左侧和右侧绘制并列的横向矩形条,纵轴左侧为男,右侧为女。

1.题目再现

请绘制以下的图形

3.题目拆解

根据图片可以了解到人口金字塔左侧的一组矩形代表各年龄段男性的人口数,右侧的一组矩形代表各年龄段女性人口数.pyplot可以使用barh()函数绘制人口金字塔图.
用到的数据

AgeGroup Gender  Number
0-9 Male    -70812
10-19   Male    -64963
20-29   Male    -89947
30-39   Male    -86653
40-49   Male    -98391
50-59   Male    -79226
60-69   Male    -59308
70-79   Male    -26564
80-89   Male    -9418
90+    Male    -791
0-9 Female  60814
10-19   Female  55015
20-29   Female  83940
30-39   Female  84858
40-49   Female  94789
50-59   Female  77357
60-69   Female  60288
70-79   Female  28578
80-89   Female  11897
90+    Female  1628

将其保存到“population.xlsx”文件里

4.完整代码

    import numpy as npimport pandas as pdimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = 'SimHei'plt.rcParams['axes.unicode_minus'] = Falsedf = pd.read_excel(r'population.xlsx')df_male = df.groupby(by='Gender').get_group('Male')list_male = df_male['Number'].values.tolist() # 将ndarray转换为listdf_female = df.groupby(by = 'Gender').get_group('Female')list_female = df_female['Number'].values.tolist() # 将ndarray转换为listdf_age = df.groupby('AgeGroup').sum()count = df_age.shape[0]y = np.arange(1,11)labels = []for i in range(count):age = df_age.index[i]labels.append(age)fig = plt.figure()ax = fig.add_subplot(111)# 绘制人口金字塔图ax.barh(y,list_male,tick_label=labels,label='男',color='#6699FF')ax.barh(y,list_female,tick_label=labels,label='女',color='#CC6699')ax.set_ylabel('年龄段(岁)')ax.set_xticks([-100000,-75000,-50000,-25000,0,25000,50000,75000,100000])ax.set_xticklabels(['100000','75000','50000','25000','0','25000','50000','75000','100000'])ax.set_xlabel('人数')ax.set_title('某城市人口金字塔')ax.legend()plt.show()

5.总结&后记

这种代码方便收藏,用到的时候,在自己空间里进行搜索,直接调试运行即可。

py实战绘制人口金字塔图相关推荐

  1. Excel绘制人口金字塔图

    效果如上图: 如果想直接作为模板用,分别更新"男人数值"列和"女人数值"列即可.(注意保留原有的公式) 绘制方法说明: 1. 准备数据. 其中两个空白列其实就是 ...

  2. tableau:人口金字塔图

    首先我们来看看数据源长什么样: 前三项是地区信息,age是年龄,gender表示性别,counts表示这一年龄的男性or女性的人数. 我们看到age中有null的字样,查看原始的excel表格,发现n ...

  3. R语言可视化:使用ggplot2绘制人口金字塔

    人口金字塔是进行人口数据可视化时常用的一种统计图形,可以形象地描述人口年龄和性别的分布情况.最近工作上经常处理人口数据,于是试着使用ggplot2绘制了一下.在这里记录一下,顺便也熟悉一下ggplot ...

  4. R语言ggplot2可视化:可视化人口金字塔图、人口金字塔显示不同性别不同年龄段的人口数,是了解人口组成的最优可视化方法、人口金字塔图可以用来表示按体积排序的群体的分布、形成漏斗结构

    R语言ggplot2可视化:可视化人口金字塔图.人口金字塔显示不同性别不同年龄段的人口数,是了解人口组成的最优可视化方法.人口金字塔图可以用来表示按体积排序的群体的分布.形成漏斗结构(Populati ...

  5. Python使用matplotlib可视化人口金字塔图、人口金字塔显示不同性别不同年龄段的人口数,是了解人口组成的最优可视化方法、人口金字塔图可以用来表示按体积排序的群体的分布、形成漏斗结构

    Python使用matplotlib可视化人口金字塔图.人口金字塔显示不同性别不同年龄段的人口数,是了解人口组成的最优可视化方法.人口金字塔图可以用来表示按体积排序的群体的分布.形成漏斗结构(Popu ...

  6. ArcGIS基于爬虫数据绘制人口分布密度图

    上一篇文章写到如何利用ArcGIS创建渔网并导出中心质点经纬度,感兴趣的小伙伴可以点击链接去查看哦!这篇文章来点不一样的,也是我感觉挺有意思的,就是利用ArcGIS绘制一种与众不同的人口分布密度图:在 ...

  7. 用Tableau画人口金字塔图

    人口金字塔图(也称为年龄结构图)显示人口中各个年龄组的分布. 通常用于此可视化类型的一种常见分布是按年龄列出的女性和男性人口.若要使用 Tableau 创建人口金字塔图,请首先将人口(度量)分为两个组 ...

  8. R语言ggplot2可视化:可视化人口金字塔图、直方图(堆叠直方图、连续变量堆叠直方图、离散变量堆叠直方图)、密度图、箱图(添加抖动数据点、tufte箱图、多分类变量分组箱图)、小提琴图

    R语言ggplot2可视化:可视化人口金字塔图.直方图(堆叠直方图.连续变量堆叠直方图.离散变量堆叠直方图).密度图.箱图(添加抖动数据点.tufte箱图.多分类变量分组箱图).小提琴图 目录

  9. tableau制作人口金字塔图/旋风图

    项目场景: 某些场景下需要制作人口数量金字塔图,以下为实例. 步骤描述: 首先展示数据的一部分 一.建立数据桶,制作简单的条形图 我这里将大小设置为10 二.创建两个计算字段 分别为男性人数和女性人数 ...

最新文章

  1. Error:Execution failed for task ':app:clean'.
  2. 如何调用DLL (基于Visual C++6.0的DLL编程实现)
  3. sum服务器如何接显示器,sum服务器监控
  4. CommonJs、AMD、CMD模块化规范
  5. python单行注释用什么符号_Python多行注释和单行注释用法说明
  6. python linux系统管理与自动化运维pdf_Python Linux系统管理与自动化运维 完整pdf扫描版[191MB]...
  7. 副业宝典~副业思维让你拥有更多钱
  8. yolov3识别的类别_Yolo3 如何只识别一个类别
  9. c语言有cot三角函数吗,c/c++ 实现三角函数(不使用库函数) sin/cos/tan/cot
  10. [ffmpeg][vaapi][goav][golang] ffmpeg使用vaapi示例代码(基于goav-incr)
  11. PowerBI开发 第三篇:报表设计技巧
  12. 阿里云服务器中安装配置MYSQL数据库完整教程
  13. python3flask教程_Python3 Flask bootstrap教程(1)
  14. Tracert 命令的原理与作用
  15. linux驱动框架和驱动代码
  16. 1、基于Keras、Mnist手写数字识别数据集构建全连接(FC)神经网络训练模型
  17. oracle物化视图可以创建索引,oracle 物化视图及创建索引
  18. C++信息学奥赛题目归类:初赛普及组阅读程序写结果题
  19. 小机、数据库、存储选型应该注意的几个事项(摘自ORACLE高可用环境-陈吉平)
  20. 戴尔微型计算机如何拆,可靠、专业、智能,戴尔Latitude 7320二合一笔记本体验...

热门文章

  1. StellarWP 收购 LearnDash 学习管理系统
  2. 人力资源管理系统如何促进业务增长
  3. grpc---客户端流式
  4. 如何让小红书笔记下沉
  5. 搜狗收录查询 怎么查搜狗是否收录过网页
  6. 马云:2019年两大行业,会成就一批千万富翁!
  7. Win10 64位下解决 NVIDIA 显示设置不可用(小白问题)
  8. 【2022年华为杯数学建模E题赛后总结加思路详细介绍配代码----10月11号写的总结】
  9. easypoi 多sheet导入_easy-poi: Easy-POI是一款Excel导入导出解决方案组成的轻量级开源组件。...
  10. 宠物粮竞争后半场:国牌与洋牌的「信任保卫战」