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正则匹配抓取豆瓣电影链接和评论代码分享
Dec 27 Python
Python获取系统默认字符编码的方法
Jun 04 Python
全面理解Python中self的用法
Jun 04 Python
详解python中字典的循环遍历的两种方式
Feb 07 Python
Python计时相关操作详解【time,datetime】
May 26 Python
pandas表连接 索引上的合并方法
Jun 08 Python
基于tensorflow加载部分层的方法
Jul 26 Python
Python3解释器知识点总结
Feb 19 Python
python tkinter之 复选、文本、下拉的实现
Mar 04 Python
python高级特性简介
Aug 13 Python
Python使用tkinter制作在线翻译软件
Feb 22 Python
Python并发编程实例教程之线程的玩法
Jun 20 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
人族 Terran 基本策略
2020/03/14 星际争霸
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
PHP中ltrim()函数的用法与实例讲解
2019/03/28 PHP
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
基于jQuery的自动完成插件
2011/02/03 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
JS版微信6.0分享接口用法分析
2016/10/13 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
js实现AI五子棋人机大战
2020/05/28 Javascript
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
Python控制多进程与多线程并发数总结
2016/10/26 Python
你所不知道的Python奇技淫巧13招【实用】
2016/12/14 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
2018/06/14 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
css3气泡 css3关键帧动画创建的动态通知气泡
2013/02/26 HTML / CSS
Derek Rose官网:英国高档睡衣、家居服和内衣品牌
2020/01/18 全球购物
Hashtable 添加内容的方式有哪几种,有什么区别?
2012/04/08 面试题
环境工程专业个人求职信
2013/12/05 职场文书
汽车队司机先进事迹材料
2014/02/01 职场文书
超市国庆节促销方案
2014/02/20 职场文书
医学生临床实习自我评价
2014/03/07 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
Python制作表白爱心合集
2022/01/22 Python
详解Python内置模块Collections
2022/03/22 Python
HTML中实现音乐或视频自动播放案例详解
2022/05/30 HTML / CSS