使用python绘制世界人口地图及数据处理
本篇我们来说:下载和处理json格式的文件,并通过pygal中的地图工具来实现数据可视化
----------------------------------------------------------------------------------------------------------------------------
总体思路:
#1.下载世界人口数量数据文件,提取数据,我们选择分析2010年的人口数量数据
#2.数据处理:将数据转换为pygal_maps_world能处理的格式
#3.将世界人口划分3大范围:0-1千万、1千万-10亿、大于10亿
#4.设置地图的颜色格式:RotateStyle
#5.生成world_population.svg文件
----------------------------------------------------------------------------------------------------------------------------
1.下载文件并提取数据
下载世界人口数据文件(json格式)
2.查看json文件是一个列表形式,发现每个元素都是一个字典,所以读取处理里面的数据时可以参考字典的处理方式。
下面截图是json文件列表中一个元素:4对键-值

3.代码
代码第一部分:导入相应的模块(json、pygal、pygal_maps_world),将文件数据装入列表,提取2010年的数据,将数据存入字典
这面需要注意:调用get_country_code()函数,根据国家得到相应的国别码,将国别码与国家人口相对应存放


代码第二部分:将世界人口划分3大范围:0-1千万、1千万-10亿、大于10亿,分别存放.

代码第三部分:设置地图格式颜色,对象实例化,字典数据加入.svg文件

4.结果:

使用python绘制世界人口地图及数据处理的更多相关文章
- python绘制世界人口地图
最近看了<python编程:从入门到实践>,里边设计的项目拿来学习学习,绘制世界人口地图. 首先,下载数据,http://data.okfn.org/ ,从这里下载population_d ...
- Python Pygal绘制世界人口地图
数据集可在 https://datahub.io/JohnSnowLabs/population-figures-by-country 下载 #coding=utf-8 import json fro ...
- Python3 使用pygal 生成世界人口地图
最近在看<python从入门到实践>,其中有一个例子是使用pygal制作世界人口地图,觉得挺有意思的,这里就记录下来了, 其实代码不是很复杂,使用环境环境python3.废话不多说,直接上 ...
- Python绘制PDF文件~超简单的小程序
Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http:// ...
- Python绘制3d螺旋曲线图实例代码
Axes3D.plot(xs, ys, *args, **kwargs) 绘制2D或3D数据 参数 描述 xs, ys X轴,Y轴坐标定点 zs Z值,每一个点的值都是1 zdir 绘制2D集合时使用 ...
- python 绘制柱状图
python 绘制柱状图 import matplotlib.pyplot as plt import numpy as np # 创建一个点数为 8 x 6 的窗口, 并设置分辨率为 80像素/每英 ...
- Python第一天:你必须要知道的Python擅长领域以及各种重点学习框架(包含Python在世界上的应用)
目录 Python5大擅长领域 WEB开发 网络编程 科学运算 GUI图形开发 运维自动化 Python在世界上的知名应用 国外 谷歌 CIA NASA YouTube Dropbox Instagr ...
- 运用python绘制小猪佩奇
用python绘制小猪佩奇 1.打开idle 2.点击File-New Files 3.输入以下代码 1. from turtle import * 2. 3. def nose(x,y):#鼻子 4 ...
- 使用python绘制根轨迹图
最近在学自动控制原理,发现根轨迹这一张全是绘图的,然而书上教的全是使用matlab进行计算机辅助绘图.但国内对于使用python进行这种绘图的资料基本没有,后来发现python-control包已经将 ...
随机推荐
- 八、路由详细介绍之动态路由OSPF(重点)
一.OSPF介绍 OSPF优点:无环路.收敛快.扩展性好.支持认证 二.工作原理: 图中RTA.RTB.RTC每个路由器都会生成一个LSA, 通过LSA泛洪进行互相发送相互学习,形成LSDB (链路状 ...
- alg-查找只出现一次的数
//只有2个数出现1次,其余的数都出现2次 class Solution { public: vector<int> singleNumber(const vector<int> ...
- golang trace 分析 简例
今天,通过一个例子,一方面熟悉trace在自定义范围内的分析,另一方面golang 在协程调度策略上的浅析. Show Code // trace_example.go package main im ...
- Java团队课程设计——基于学院的搜索引擎
团队名称.团队成员介绍.任务分配,团队成员课程设计博客链接 姓名 成员介绍 任务分配 课程设计博客地址 谢晓淞(组长) 团队输出主力 爬虫功能实现,Web前端设计及其后端衔接 爬虫:https://w ...
- Python - Python的基础知识结构,学习方法、难点和重点
[原创]转载请注明作者Johnthegreat和本文链接. 相信大家都知道,Python很容易学,有编程基础的人,最多两个星期就可以很愉快的撸Python的代码了,那么具体涉及的知识有哪些,下面为大家 ...
- [RCTF2015]EasySQL
[RCTF2015]EasySQL EasySQL github 打开靶机,是如下界面 到注册页面,试了一下,username 和 email 处有过滤,直接 fuzz 一下哪些字符被禁了 注册成功之 ...
- [linux][mysql] 命令更改表结构:添加、删除、修改字段、调整字段顺序
原文出处:http://www.phpernote.com/MySQL/1120.html 查看表结构: desc tabl_name; show columns fromtable_name: 常用 ...
- MVC-基础02
MVC是Model(模型).View(视图)和Controller(控制). 1)最上面的一层,是直接面向最终用户的"视图层"(View).它是提供给用户的操作界面,是程序的外壳. ...
- 测试Thread中的常用方法
package com.yhqtv.java; /* *测试Thread中的常用方法: * 1.start():启动当前线程:调用当前线程的run() * 2.run():通常需要重写Thread类的 ...
- php函数封装
这是一些自定义封装的函数类,调用起来很方便,以后会有更多的封装函数更新! // 弹框跳转function alert($msg,$url=''){ echo "<script>& ...