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使用pygame模块编写俄罗斯方块游戏的代码实例
Dec 08 Python
Python对数据库操作
Mar 28 Python
Python自动化运维_文件内容差异对比分析
Dec 13 Python
JS设计模式之责任链模式实例详解
Feb 03 Python
python+opencv像素的加减和加权操作的实现
Jul 14 Python
PyQt5通信机制 信号与槽详解
Aug 07 Python
Python tcp传输代码实例解析
Mar 18 Python
哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
May 07 Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 Python
解决keras模型保存h5文件提示无此目录问题
Jul 01 Python
python多线程爬取西刺代理的示例代码
Jan 30 Python
JAVA SpringMVC实现自定义拦截器
Mar 16 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
PHP 翻页 实例代码
2009/08/07 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
php中try catch捕获异常实例详解
2014/11/21 PHP
PHP网站建设的流程与步骤分享
2015/09/25 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
2017/08/01 PHP
如何利用PHP实现上传图片功能详解
2020/09/24 PHP
基于jquery的表头固定的若干方法
2011/01/27 Javascript
JS获取后台Cookies值的小例子
2013/03/04 Javascript
js获取会话框prompt的返回值的方法
2015/01/10 Javascript
javascript中利用柯里化函数实现bind方法
2016/04/29 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
浅谈React 属性和状态的一些总结
2016/11/21 Javascript
javascript 数组去重复(在线去重工具)
2016/12/17 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
vue和iview实现Scroll 数据无限滚动功能
2019/10/31 Javascript
JS array数组检测方式解析
2020/05/19 Javascript
JavaScript中变量提升和函数提升的详解
2020/08/07 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
[01:01:31]2018DOTA2亚洲邀请赛3月29日小组赛B组 Mineski VS paiN
2018/03/30 DOTA
Python实现求笛卡尔乘积的方法
2017/09/16 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
python之django母板页面的使用
2018/07/03 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
SEPHORA丝芙兰德国官方购物网站:化妆品、护肤品和香水
2020/01/21 全球购物
餐厅楼面部长岗位职责范文
2014/02/16 职场文书
学习雷锋活动总结
2014/04/29 职场文书
市场营销工作计划书
2014/09/15 职场文书
导游词之徐州云龙湖
2019/11/19 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
nginx安装以及配置的详细过程记录
2021/09/15 Servers