绘制世界人口地图

准备工作

1.下载数据(http://data.okfn.org/)

2.新建一个世界人口地图项目(包含以下文件)

  • world_population.py # 主要程序

3.开始写代码

# world_population.py
import pygal.maps.world as pwm
import json
# 将数据加载到一个列表中
filename = 'population_data.json'
with open(filename) as f:pop_data = json.load(f)
cc_population = {}
for pop_dict in pop_data:
if pop_dict['Year'] == 2015:country_name = pop_dict['Country Name']population = int(pop_dict['Value'])code = get_country_code(country_name)if code:cc_population[code] = population# 根据人口数量将所有的国家分成三组
cc_pop_1, cc_pop_2, cc_pop_3 = {}, {}, {}
for cc, pop in cc_population.items():if pop < 10000000:cc_pop_1[cc] = pop  # 国别码-人口数量elif pop < 1000000000:cc_pop_2[cc] = popelse:cc_pop_3[cc] = pop# 看看每组分别包含多少个国家
# print(len(cc_pop_1))
# print(len(cc_pop_2))
# print(len(cc_pop_3))# LightColorizedStyle 加 亮了地图的颜色
# 指定基色,让三个分组的颜色差别更大
wm_style = RotateStyle('#336699',            base_style=LightColorizedStyle)
wm = pwm.World(style=wm_style)
wm.title = '2016年世界各国人口数量'
wm.add('1000万以下', cc_pop_1)
wm.add('1000万~10亿', cc_pop_2)
wm.add('10亿以上', cc_pop_3)wm.render_to_file('world_population.svg')# countries.py
from pygal_maps_world.i18n import COUNTRIES
'''
Pygal使用的国别码存储在模块i18n (   internationalization的缩写)中。
字典COUNTRIES 包含的键和值分别为两个字母   的国别码和国家名
如: cn  China
'''
for country_code in sorted(COUNTRIES.keys()):print(country_code, COUNTRIES[country_code])# country_codes.py
# 为获取国别码,我们将编写一个函数,它在COUNTRIES 中查找并返回国别码。
from pygal_maps_world.i18n import COUNTRIESdef get_country_code(country_name):
'''根据指定的国家,返回pygal使用的两个字母的国别码'''for code, name in COUNTRIES.items():if name == country_name:return codereturn None

数据可视化之绘制世界人口地图相关推荐

  1. Python学习——绘制世界人口地图

    实例训练--绘制世界人口地图 人口数据为json格式文件,因此需使用json模块来处理他们 Pygal提供了一个适合初学者使用的地图创建工具,可以使用它来对人口数据进行可视化,以探索全球人口的分布情况 ...

  2. 【Python-3.5】绘制世界人口地图

    本文案例来自<Python编程:从入门到实践>,章节16.2,绘制世界人口地图. 代码中包含两个模块:world_population.py和country_codes.py.pygal中 ...

  3. Python入门到实战(五)自动化办公、pandas操作Excel、数据可视化、绘制柱状图、操作Word、数据报表生成、pip install国内镜像下载

    Python入门到实战(五)conda使用.pandas操作Excel.数据可视化.绘制柱状图.操作Word.数据报表生成.pip install国内镜像下载 conda使用 常用操作 配置VS+Co ...

  4. 数据可视化: matplotlib绘制动态图及3维动画

    动画可以有趣地展示某种现象.相比于静态图表,人们更容易被动画和交互式的图表所吸引.在描绘时间序列数据时,动画更有意义,例如多年来股票价格的波动,过去十年气候的季节性变化和和趋势,因为我们可以看到特定参 ...

  5. python画折线图详解-Python数据可视化(一) 绘制折线图和散点图

    数据可视化示例 对数据可视化的浅认知 数据可视化是任何数据科学或机器学习的重要组成部分.可视化能将数据以更加直观的方式展现出来,使数据更加客观.更具说服力.同时,也易于发现隐藏在数据中的规律和意义.尤 ...

  6. Visdom数据可视化工具绘制Loss曲线

    目录 Visdom介绍 Loss可视化代码编写 视频链接 Visdom介绍 Visdom是FaceBook公司开发的一款开源数据可视化工具,以其简单易用的功能,很快成为PyTorch的一个数据可视化工 ...

  7. 平均股价的时间序列图形_数据可视化——pandas绘制股票走势图

    python数据可视化工具除了matplotlib底层绘图包,还有在matplotlib基础上分装的seaborn绘图包,此外,数据分析报pandas也在matplotlib基础上分装内置了绘图功能. ...

  8. Python matplotlib数据可视化 subplot绘制多个子图

    数据可视化的时候,有时需要将多个子图放在同一个画板上进行比较.通过使用GridSpec类配合subplot,可以很容易对子区域进行划定和选择,在同一个画板上绘制多个子图. 原文链接:https://y ...

  9. 【Python】数据可视化-散点图绘制

    Python在数据科学中拥有十分重要的地位,numpy, scipy, pandas, scikit-learn这些高效易用.接口统一的科学计算包使其在数据分析处理过程更加方便快捷,其强大的数据可视化 ...

最新文章

  1. Openstack nova-scheduler 源码分析 — Filters/Weighting
  2. sklearn学习(三)
  3. silverlight 打开html_在Silverlight中嵌入HTML或aspx页面-阿里云开发者社区
  4. 润乾集算报表呈现输出之表头重复
  5. python爬取豆瓣前25个影片内容的正则表达式练习
  6. 07-狄克斯特拉算法
  7. python 如何看到图标_如何设置CEF窗口图标(在python中)
  8. IteratorX 正式开源:超好用的 jdbc reader
  9. 传统人工势场法的MATLAB实现
  10. 微信公众号发红包 php,php微信公众号接口实现发红包的方法
  11. L1-009 N个数求和 (20 分)(C语言)(测试点3和测试点5)
  12. 使用python开发多人一对一聊天系统(文字聊天,视频通讯,文件传输)
  13. 控制台报 [WDS] Disconnected!不影响代码运行。
  14. 浅析时间序列用户生命周期的聚类方法
  15. 为什么程序员熬夜加班,项目还是会延期?
  16. java微信Url转文本
  17. 洛谷P1650:田忌赛马 ← 贪心算法
  18. 服务器同步/异步通知参数说明 (支付宝)
  19. 新起典| 探秘文旅跨界融合新业态
  20. RNN中的tokenizing和vocabulary的关系是什么

热门文章

  1. 『网络迷踪』ctfshow-国足加油
  2. 解压缩命令tar zip rar
  3. 中科院上海王二涛组招聘助理研究员1名-植物微生物组学
  4. 雷军十年的演讲:吾志所向,一往无前!
  5. 游戏辅助制作核心--植物大战僵尸逆向之植物攻击加速(六)
  6. 我为什么反对提“全栈工程师”?
  7. HTML网页设计期末课程大作业 :汽车网页——宝马轿车 6页 带背景音乐 学生网页设计作业HTML+CSS+JavaScript学生网页课程设计期末作业下载
  8. 蔡崇信和关明生才是阿里巴巴能走到今天的关键人物
  9. java计算机毕业设计图书馆管理系统源码+系统+mysql数据库+LW文档+部署文件
  10. 「CG原画插画教程」初学者如何练习人体动态结构?