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正则表达式
Jan 15 Python
python监控文件或目录变化
Jun 07 Python
python 读取文件并替换字段的实例
Jul 12 Python
对python中UDP,socket的使用详解
Aug 22 Python
分享一个pycharm专业版安装的永久使用方法
Sep 24 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
flask框架自定义url转换器操作详解
Jan 25 Python
django中的数据库迁移的实现
Mar 16 Python
高考考python编程是真的吗
Jul 20 Python
python,Java,JavaScript实现indexOf
Sep 09 Python
在PyCharm中安装PaddlePaddle的方法
Feb 05 Python
使用Django实现商城验证码模块的方法
Jun 01 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 switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
php 如何获取文件的后缀名
2016/06/05 PHP
PHP延迟静态绑定的深入讲解
2018/04/02 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
Laravel服务容器绑定的几种方法总结
2020/06/14 PHP
用jquery来定位
2007/02/20 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
js常用数组操作方法简明总结
2014/06/20 Javascript
javascript日期处理函数,性能优化批处理
2015/09/06 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
2015/12/03 Javascript
Bootstrap Table使用整理(二)
2017/06/09 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
vue地址栏直接输入路由无效问题的解决
2018/11/15 Javascript
jQuery实现网页拼图游戏
2020/04/22 jQuery
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
2019/06/05 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
JavaScript在web自动化测试中的作用示例详解
2019/08/25 Javascript
微信浏览器左上角返回按钮监听的实现
2020/03/04 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
对numpy中数组元素的统一赋值实例
2018/04/04 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
将python安装信息加入注册表的示例
2019/11/20 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
实例教程 利用html5和css3打造一款创意404页面
2014/10/20 HTML / CSS
小学班干部竞选演讲稿
2014/04/24 职场文书
联谊活动总结
2014/08/28 职场文书
实习证明模板
2015/06/16 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
2016预备党员培训心得体会
2016/01/08 职场文书
七个非常实用的Python工具包总结
2021/06/15 Python
SpringRetry重试框架的具体使用
2021/07/25 Java/Android