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获取GY-85九轴模块信息示例
Dec 05 Python
深度剖析使用python抓取网页正文的源码
Jun 11 Python
Python+Opencv识别两张相似图片
Mar 23 Python
Python中Selenium模拟JQuery滑动解锁实例
Jul 26 Python
Python实现的圆形绘制(画圆)示例
Jan 31 Python
Python使用爬虫爬取静态网页图片的方法详解
Jun 05 Python
Python查找文件中包含中文的行方法
Dec 19 Python
selenium python 实现基本自动化测试的示例代码
Feb 25 Python
解决Django连接db遇到的问题
Aug 29 Python
Python实现播放和录制声音的功能
Aug 12 Python
Python urllib库如何添加headers过程解析
Oct 05 Python
Python+Appium新手教程
Apr 17 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
一个域名查询的程序
2006/10/09 PHP
PHP实现采集程序原理和简单示例代码
2007/03/18 PHP
PHP开发规范手册之PHP代码规范详解
2011/01/13 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
PHP设置进度条的方法
2015/07/08 PHP
php之static静态属性与静态方法实例分析
2015/07/30 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
javascript中onmouse事件在div中失效问题的解决方法
2012/01/09 Javascript
JS 对输入框进行限制(常用的都有)
2013/07/30 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
Javascript非构造函数的继承
2015/04/27 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
js实现常用排序算法
2016/08/09 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
ES6中Symbol类型用法实例详解
2017/04/06 Javascript
基于JS实现计算24点算法代码实例解析
2020/07/23 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
python使用正则表达式的search()函数实现指定位置搜索功能
2017/11/10 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
Python如何优雅获取本机IP方法
2019/11/10 Python
python常用数据重复项处理方法
2019/11/22 Python
python 的numpy库中的mean()函数用法介绍
2020/03/03 Python
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
室内设计专业个人的自我评价
2013/10/19 职场文书
预备党员的自我评价
2014/03/12 职场文书
初婚初育证明范本
2014/11/24 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
JavaScript实现简单图片切换
2021/04/29 Javascript