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检测远程udp端口是否打开的方法
Mar 14 Python
windows下安装Python和pip终极图文教程
Mar 05 Python
基于并发服务器几种实现方法(总结)
Dec 29 Python
浅谈python可视化包Bokeh
Feb 07 Python
python实现简单登陆流程的方法
Apr 22 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
May 30 Python
python实现输入数字的连续加减方法
Jun 22 Python
Python Pandas批量读取csv文件到dataframe的方法
Oct 08 Python
Python 3.6打包成EXE可执行程序的实现
Oct 18 Python
Django 实现Admin自动填充当前用户的示例代码
Nov 18 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
Dec 04 Python
Python 内置变量和函数的查看及说明介绍
Dec 25 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 生成文字png图片的代码
2011/04/17 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
PHP实现15位身份证号转18位的方法分析
2019/10/16 PHP
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
JQuery包裹DOM节点的方法
2015/06/11 Javascript
即将发布的jQuery 3 有哪些新特性
2016/04/14 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
vue货币过滤器的实现方法
2017/04/01 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
JavaScript适配器模式详解
2017/10/19 Javascript
利用node.js如何创建子进程详解
2017/12/09 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
JS中注入eval, Function等系统函数截获动态代码
2019/04/03 Javascript
Vue 使用formData方式向后台发送数据的实现
2019/04/14 Javascript
javascript实现评分功能
2020/06/24 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
简单介绍Python中的decode()方法的使用
2015/05/18 Python
Python中有趣在__call__函数
2015/06/21 Python
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
详解Python之数据序列化(json、pickle、shelve)
2017/03/30 Python
Python去除、替换字符串空格的处理方法
2018/04/01 Python
pandas数据清洗,排序,索引设置,数据选取方法
2018/05/18 Python
python爬取哈尔滨天气信息
2018/07/14 Python
Python Pexpect库的简单使用方法
2019/01/29 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
2019/11/28 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
毕业生幼师求职自荐信
2013/10/01 职场文书
电子商务专业个人的自我评价分享
2013/10/29 职场文书
名企HR怎样看待求职信
2014/02/23 职场文书
理财学专业自荐书
2014/06/28 职场文书
销售经理工作失职检讨书
2014/10/24 职场文书