Python学习之用pygal画世界地图实例


Posted in Python onDecember 07, 2017

有关pygal的介绍和安装,大家可以参阅pip和pygal的安装实例教程,然后利用pygal实现画世界地图。代码如下:

#coding=utf-8 
import json 
import pygal.maps.world 
#Pygal样式保存在模块style中,包括RotateStyle调整颜色和LightColorizedStyle加亮颜色 
#也可以写成from pygal.style import LightColorizedStyle, RotateStyle 
import pygal.style 
from country_codes import get_country_code 
 
 #将数据加载到列表中 
filename='population_data.json' 
with open(filename) as f: 
  pop_data=json.load(f) 
 
 #创建一个包含人口数量的字典 
cc_populations={} 
for pop_dict in pop_data: 
  if pop_dict['Year'][:4]=='2010': 
    country_name=pop_dict['Country Name'] 
    poplulation=int(pop_dict['Value']) 
    code=get_country_code(country_name) 
    if code: 
      cc_populations[code]=poplulation 
 
 
 #根据人口数量分组 
cc_pops_1,cc_pops_2,cc_pops_3={},{},{} 
for cc,pop in cc_populations.items(): 
  if pop < 10000000: 
    cc_pops_1[cc] = pop 
  elif pop < 1000000000: 
    cc_pops_2[cc] = pop 
  else: 
    cc_pops_3[cc] = pop 
print len(cc_pops_1),len(cc_pops_2),len(cc_pops_3) 
 
 
 #画图 
#wm_style是一个样式对象,第一个实参表示颜色,十六进制格式,分别表示红绿蓝的分量(RGB),第二个实参表示加亮颜色主题 
wm_style=pygal.style.RotateStyle('#3399AA',base_style=pygal.style.LightColorizedStyle) 
wm=pygal.maps.world.World(style=wm_style) 
wm.title="World Population in 2010,by Country" 
 
#add接收一个标签和一个列表,此例中标签为人口数量区间,列表是国家和人口数量的列表 
wm.add('0-10m',cc_pops_1) 
wm.add('10m-1bn',cc_pops_2) 
wm.add('>1bn',cc_pops_3) 
 
wm.render_to_file('world_population.svg')

注意:

1.有些书上写的国别码是在pygal.i18n中的COUNTRIES,我importpygal.i18n会报错,改为pygal.maps.world模块成功

from pygal.maps.world import COUNTRIES

或者使用如下方式,不是很明白这两种有什么区别,都运行正常

from pygal_maps_world.i18n import COUNTRIE

2.pygal提供的图标类型WorldMap我也没找到,创建实例wm=pygal.WorlgMap()报错,改为

wm=pygal.maps.world.World()

3.wm_style是一个样式对象,用来展示图的颜色和亮度等,LightColorizedStyle和RotateStyle

但是只使用LightColorizedStyle,无法控制使用的颜色,pygal会选择默认基色。(效果如图1)

wm_style=pygal.style.LightColorizedStyle

设置自己喜欢的颜色,也可以不写base_style(效果如图2,my_style如下)

wm_style=pygal.style.RotateStyle('#3399AA',base_style=pygal.style.LightColorizedStyle)

Python学习之用pygal画世界地图实例

Python学习之用pygal画世界地图实例

总结

以上就是本文关于Python学习之用pygal画世界地图实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
用Python的urllib库提交WEB表单
Feb 24 Python
pandas把所有大于0的数设置为1的方法
Jan 26 Python
Python基础知识点 初识Python.md
May 14 Python
详解Python字符串切片
May 20 Python
分析运行中的 Python 进程详细解析
Jun 22 Python
python简单实现矩阵的乘,加,转置和逆运算示例
Jul 10 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
Aug 23 Python
pywinauto自动化操作记事本
Aug 26 Python
python3.7 openpyxl 删除指定一列或者一行的代码
Oct 08 Python
pandas中DataFrame数据合并连接(merge、join、concat)
May 30 Python
Python scrapy爬取起点中文网小说榜单
Jun 13 Python
Python torch.flatten()函数案例详解
Aug 30 Python
用Pygal绘制直方图代码示例
Dec 07 #Python
[原创]pip和pygal的安装实例教程
Dec 07 #Python
利用Python进行异常值分析实例代码
Dec 07 #Python
Python3解决棋盘覆盖问题的方法示例
Dec 07 #Python
python实现对excel进行数据剔除操作实例
Dec 07 #Python
Python编程实现使用线性回归预测数据
Dec 07 #Python
机器学习10大经典算法详解
Dec 07 #Python
You might like
PHP调用三种数据库的方法(3)
2006/10/09 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
PHP中使用微秒计算脚本执行时间例子
2014/11/19 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
mui上拉加载更多下拉刷新数据的封装过程
2017/11/03 Javascript
理解Koa2中的async&amp;await的用法
2018/02/05 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
python做量化投资系列之比特币初始配置
2018/01/23 Python
python3 图片referer防盗链的实现方法
2018/03/12 Python
Python实现FM算法解析
2019/06/18 Python
python实现字符串完美拆分split()的方法
2019/07/16 Python
Python 仅获取响应头, 不获取实体的实例
2019/08/21 Python
使用html5实现表格实现标题合并的实例代码
2019/05/13 HTML / CSS
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
匡威爱尔兰官网:Converse爱尔兰
2019/06/09 全球购物
大学毕业生自我鉴定
2013/11/05 职场文书
应征英语教师求职信
2013/11/27 职场文书
二年级数学教学反思
2014/01/21 职场文书
优秀大学生求职自荐信范文
2014/04/19 职场文书
批评与自我批评总结
2014/10/17 职场文书
党员倡议书
2015/01/19 职场文书
药店收银员岗位职责
2015/04/07 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL
整理Python中常用的conda命令操作
2021/06/15 Python
python库sklearn常用操作
2021/08/23 Python
插件导致ECharts被全量引入的坑示例解析
2022/09/23 Javascript