2016世界GDP地图

从https://datahub.io/core/gdp#data下载得到json文件。

  1. # country_code.py 获取国家二字代码
  2.  
  3. # 从pygal.maps.world模块导入{国家代码:国家名字}的列表
  4. from pygal.maps.world import COUNTRIES
  5.  
  6. import json
  7.  
  8. # 创建找国家代码的函数
  9. def get_country_code(country):
  10. for code, name in COUNTRIES.items():
  11. if name == country:
  12. return code
  13.  
  14. return None
  15.  
  16. if __name__ == '__main__':
  17. filename = 'world_GDP.json'
  18. with open(filename) as f:
  19. data = json.load(f)
  20.  
  21. for dic in data:
  22. for key in dic:
  23. if key == 'Year':
  24. if dic[key] == 2016:
  25. country = dic['Country Name']
  26. print(country + ': ', get_country_code(country))
  1. # world_GDP.py 世界2016年GDP
  2.  
  3. # 导入json模块
  4. import json
  5.  
  6. # 从country_code.py文件导入get_country_code函数
  7. from country_code import get_country_code
  8.  
  9. # 将pygal_maps_world.maps模块导入并命名为maps
  10. import pygal_maps_world.maps as maps
  11.  
  12. # 导入数据
  13. filename = 'world_GDP.json'
  14. with open(filename) as f:
  15. data = json.load(f)
  16.  
  17. # 世界GDP字典
  18. cc_gdp = {}
  19.  
  20. # 解析数据
  21. for dic in data:
  22. # 遍历所有在data中的字典
  23.  
  24. for key in dic:
  25. # 遍历字典的键
  26.  
  27. if key == 'Year':
  28. # 如果键是'Year'
  29.  
  30. if dic[key] == 2016:
  31. # 如果字典的Year键的值为2016
  32.  
  33. country = dic['Country Name']
  34. value = dic['Value']
  35. code = get_country_code(country)
  36. if code:
  37. cc_gdp[code] = value
  38. else:
  39. pass
  40.  
  41. # 创建世界地图并设置标题以及标签数据
  42. wm = maps.World()
  43. wm.title = 'World GDP in 2016, by country'
  44. wm.add('', cc_gdp)
  45.  
  46. # 渲染地图,保存为
  47. wm.render_to_file('world_gdp.svg')
  48.  
  49. # 保存文件可以使用浏览器查看

Python 绘制2016世界GDP地图的更多相关文章

  1. 用Python绘制全球疫情变化地图

    目前全球疫情仍然比较严重,为了能清晰地看到疫情爆发以来至现在全球疫情的变化趋势,我绘制了一张疫情变化地图,完整代码共 230 行,需要的朋友在公众号回复关键字 疫情地图 即可. 废话不多说,先上图 下 ...

  2. ROC,AUC,PR,AP介绍及python绘制

    这里介绍一下如题所述的四个概念以及相应的使用python绘制曲线: 参考博客:http://kubicode.me/2016/09/19/Machine%20Learning/AUC-Calculat ...

  3. three.js通过canvas实现球体世界平面地图

    概况如下: 1.SphereGeometry实现自转的地球: 2.THREE.CatmullRomCurve3实现球体线条地图点确定: 3.THREE.Math.degToRad,Math.sin,M ...

  4. three.js实现世界3d地图

    概况如下: 1.THREE.Shape绘制世界地图平面地图: 2.THREE.ExtrudeGeometry将绘制的平面沿着Z轴拉伸,实现3d效果: 效果图如下: 预览地址:three.js实现世界3 ...

  5. python绘制疫情图

    python中进行图表绘制的库主要有两个:matplotlib 和 pyecharts, 相比较而言: matplotlib中提供了BaseMap可以用于地图的绘制,但是个人觉得其绘制的地图不太美观, ...

  6. 如何用 Python 绘制玫瑰图等常见疫情图

    新冠疫情已经持续好几个月了,目前,我国疫情已经基本控制住了,而欧美国家正处于爆发期,我们会看到很多网站都提供了多种疫情统计图,今天我们使用 Python 的 pyecharts 框架来绘制一些比较常见 ...

  7. Python绘制PDF文件~超简单的小程序

    Python绘制PDF文件 项目简介 这次项目很简单,本次项目课,代码不超过40行,主要是使用 urllib和reportlab模块,来生成一个pdf文件. reportlab官方文档 http:// ...

  8. Python绘制3d螺旋曲线图实例代码

    Axes3D.plot(xs, ys, *args, **kwargs) 绘制2D或3D数据 参数 描述 xs, ys X轴,Y轴坐标定点 zs Z值,每一个点的值都是1 zdir 绘制2D集合时使用 ...

  9. python 绘制柱状图

    python 绘制柱状图 import matplotlib.pyplot as plt import numpy as np # 创建一个点数为 8 x 6 的窗口, 并设置分辨率为 80像素/每英 ...

随机推荐

  1. android高速上手(二)android开发环境搭建及hello world

    基本了解了java语法,下一步.我们一起开启hello world的神奇之旅. (一)android开发环境搭建 之前搭建android开发环境是件很费力的事情,下载Eclipse.安装ADT等,现在 ...

  2. SpringMVC文件上传和下载的实现

    SpringMVC通过MultipartResolver(多部件解析器)对象实现对文件上传的支持. MultipartResolver是一个接口对象,需要通过它的实现类CommonsMultipart ...

  3. Vue环境搭建+VSCode+Win10

    一.安装Node.js(js的运行环境) 1.在Node.js官网https://nodejs.org/en/download/下载安装包.2.下载后进行安装.3.打开命令行,输入node -v可以查 ...

  4. vim设置为indent折叠以后,每次打开文件时代码处于折叠状态,能改变吗?

    vim设置为indent折叠以后,每次打开文件时代码处于折叠状态.即使这次编辑的时候把折叠展开,保存关闭文件,重新打开,所有的代码都又折叠起来了. 请问有没有默认不折叠的方法? 是否有可以一次展开所有 ...

  5. 在Android系统中添加宏控制代码【原创】

    关键词:Android  宏控制 Androd.mk 平台信息:内核:linux3.4.39 系统:android/android5.1平台:S5P4418  作者:庄泽彬(欢迎转载,请注明作者) 邮 ...

  6. Local Response Normalization作用——对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力

    AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中.AlexNet主要使用到的新技术点如下. (1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过 ...

  7. mysql查询orderby

    --按某一字段分组取最大(小)值所在行的数据 /* 数据如下: name val memo a    2   a2(a的第二个值) a    1   a1--a的第一个值 a    3   a3:a的 ...

  8. MAVEN 杂记

    MAVEN中央仓库 http://repo.maven.apache.org/maven2http://repo1.maven.org/maven2/http://mvnrepository.com/ ...

  9. JS+jquery 计算服务器控件textbox的值并显示在lable上

    更好的方法求共同学习. //通用            function Change(clientId) {                var sampleQuantity = $(" ...

  10. Elasticsearch之cur查询索引

    前提, Elasticsearch之curl创建索引库 Elasticsearch之curl创建索引 Elasticsearch之curl创建索引库和索引时注意事项 Elasticsearch之cur ...