python读取json文件制作中国人口地图_【Python Crash Course - 10】下载数据-json数据下载并可视化-人口世界地图...

import json

# pip install pygal_maps_world

# 世界地图的新包

import pygal.maps.world

from pygal.style import RotateStyle

from pygal.style import LightColorizedStyle

# 获取2位标准国别码

def get_country_code(country_name):

for code, name in pygal.maps.world.COUNTRIES.items():

if name == country_name:

return code

# 如果没有找到就返回None

return None

filename = "population_data.json"

with open(filename) as file:

pop_data = json.load(file)

cc_populations = {}

for pop_dict in pop_data:

if pop_dict["Year"] == "2010":

country_name = pop_dict["Country Name"]

poplation = int(float(pop_dict["Value"]))

# print(country_name + " : " + str(poplation))

country_code = get_country_code(country_name)

if country_code:

# print(country_code + " : " + str(poplation))

cc_populations[country_code] = poplation

else:

print("Error - " + country_name)

# 将人口数量分组

cc_pop_1, cc_pop_2, cc_pop_3 = {}, {}, {}

for cc, pop in cc_populations.items():

if pop < 10000000:

cc_pop_1[cc] = pop

elif pop < 1000000000:

cc_pop_2[cc] = pop

else:

cc_pop_3[cc] = pop

# 设置主题颜色基调

# wm_style = RotateStyle("#aa6699")

wm_style = RotateStyle("#aa6699", base_style=LightColorizedStyle)

wm = pygal.maps.world.World(style=wm_style)

wm.title = "World Populations in 2010, by Country"

# wm.add("2010", cc_populations)

wm.add("0-10m", cc_pop_1)

wm.add("10m-1bn", cc_pop_2)

wm.add(">1bn", cc_pop_3)

wm.render_to_file("world_population.svg")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值