python之利用Pygal+2010年世界人口=绘制世界地图
python之利用Pygal+2010年世界人口=绘制世界地图
工具:
博主是在Pycharm下进行的。
目的:
Pygal+2010年世界人口=绘制世界地图
科普:
JSON格式
JSON格式介绍
文件夹:world_population
1:将下载的json文件复制到world_population目录下
2:country_code.py代码
# coding=utf-8
"""
@author: jiajiknag
程序功能:根据指定的国家,返回pygal使用的两个字母的国别码
"""
# country_codes.py
from pygal.maps.world import COUNTRIESdef get_country_code(country_name):"""根据指定的国家,返回pygal使用的两个字母的国别码"""for code, name in COUNTRIES.items():if name == country_name:return code# 如果没有找到指定的国家,就返回Nonereturn None
3:world_population.py代码
# coding=utf-8
"""
@author: jiajiknag
程序功能: 利用2010年世界人口的json数据绘制世界人口分布
"""import json
import pygal
# 加亮颜色主题:LightColorizedStyle
from pygal.style import LightColorizedStyle as LCS, RotateStyle as RS
from country_code import get_country_code# 将数据加载到列表
filename = 'population_data.json'
# 打开数据,进行下载到pop_data
with open(filename) as f:pop_data = json.load(f)# 创建一个包含人口数量的字典
cc_populations = {}
# 这里是遍历pop_data
for pop_dict in pop_data:# 这里要对下载的json格式的文件有所了解if pop_dict['Year'] == '2010':country_name = pop_dict['Country Name']population = int(float(pop_dict['Value']))code = get_country_code(country_name)if code:cc_populations[code] = population# 根据人口数量将所有的国家分为三组
cc_pops_1, cc_pops_2, cc_pops_3 = {}, {}, {}
# 遍历cc_populations.items()
for cc, pop in cc_populations.items():if pop < 10000000:cc_pops_1[cc] = popelif pop < 1000000000:cc_pops_2[cc] = popelse:cc_pops_3[cc] = pop# 看看每组分别包含多少个国家
print(len(cc_pops_1), len(cc_pops_2), len(cc_pops_3))# 模块style-导入样式RotateStyle-实参:十六进制的RGB颜色(红,绿,蓝)
wm_style = RS('#336699', base_style=LCS)
# 创建实例
wm = pygal.maps.world.World(style=wm_style)
wm.title = "2010年世界人口"
# 添加到pygal.maps.world.World()
wm.add("0-10m", cc_pops_1)
wm.add("10m-1bn", cc_pops_2)
wm.add(">1bn", cc_pops_3)
# 以world_population.svg名字+格式保存
wm.render_to_file("world_population.svg")
4 :结果
注:
提供了大量可以免费试用的数据集
python之利用Pygal+2010年世界人口=绘制世界地图相关推荐
- python matplotlib animation制作世界人口变动动画
python matplotlib animation制作世界人口变动动画 主要利用animation 做了个世界人口动画,数据从网上下载的.做成json格式的.读入pandas.没有放数据, 只是弄 ...
- Python对JSON文件世界人口数据进行可视化
制作世界人口地图,用json模块来处理,将人口数据进行可视化!!! 下载JSON格式的人口数据,下面附上完整的,在网站中https://datahub.io/下载的数据集的详细过程!!! 1.下载世界 ...
- python读取json文件制作中国人口地图_Python对JSON文件世界人口数据进行可视化
制作世界人口地图,用json模块来处理,将人口数据进行可视化!!! 下载JSON格式的人口数据,下面附上完整的,在网站中https://datahub.io/下载的数据集的详细过程!!! 1.下载世界 ...
- python爬取知乎话题广场_学习python爬虫---爬虫实践:爬取B站排行榜2(爬取全部分类排行榜、利用pygal库作图)...
前面我们爬取了B站上全站的排行榜,详细见:魏勇:学习python爬虫---爬虫实践:爬取B站排行榜zhuanlan.zhihu.com 一.爬取全部分类排行榜 我们观察一下B站排行榜,那里还有番剧排 ...
- 利用Python爬取全国250m精度的人口数据
此次以GeoQ(智图)为基础,利用Python爬取全国250m精度的人口数据(GeoQ)这个网站开放过250m精度的人口分布数据,而且人口分布有年龄分段等属性.先得注册登录到达创建地图的界面. 看人口 ...
- 利用Python爬取全国250m精度的人口数据(GeoQ)、房价数据和公交站(线路)等数据
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 中原百科 GIS大师兄 PS:如有需要Python学习资料的小伙伴可 ...
- python我国有13亿人口、假定按人口年增长0.8%计算_2000年世界人口50亿.按年增长率8%0计算.多少年后.世界人口超过100亿.请设计出一个算法.并画出程序框图....
1957年世界人口30亿,17年后(即1974年)增加了10亿,即达40亿:又过13年达到50亿:到1999年全世界总人口达到60亿.以此速度,人口学专家预测到2025年,世界人口将达到80亿:而到2 ...
- python图表之pygal入门篇
pygal的简单使用 例子来自此书: <Python编程从入门到实战>[美]Eric Matthes pygal是一个SVG图表库.SVG是一种矢量图格式.全称Scalable Vecto ...
- python怎么实现检验_[python skill]利用python实现假设性检验方法
[python skill]利用python实现假设性检验方法 刀尔東 2018-08-03 09:19:13 1244 收藏 2 版权 hello,大噶好,最近新学习了利用python实现假设性检验 ...
最新文章
- 机器学习数学基础:常见分布与假设检验
- 前端开发应届生面试指南(含各大公司具体指南及面试真题)
- linux 清理内存的c函数,Linux C函数之内存配置函数
- touchWX使用 echarts
- Linux 系统服务管理和控制程序(初始化系统/Init System) -- systemd 介绍
- kubectl logs -f tail 显示100_系统管理员应该知道的9个kubectl命令
- group() 数组java_java 根据每个分组个数,分解数组. | 学步园
- 不必仰望他人,用自己的方式活着就好
- eclipse --->svn插件安装
- Centos7安装java运行环境
- 金蝶K3案例教程简介
- 2020-02-13
- 问题:必须使用记录或另一备份以恢复包含系统注册表
- 图解CRM(客户关系管理)全流程
- 美团因拖欠骑手工资被约谈;传苹果6月6日举办全球开发者大会;Linux 5.18开始启动停止支持ReiserFS|极客头条
- 单点故障(用通俗易懂的语言告诉你)
- Word中自己制作三线表样式,为论文撰写提高效率!
- 2019个人成长计划
- 关于优秀的管理者学习笔记
- html h5 php 语音录入,H5添加语音输入功能-