python資料呈現 pygal

2021-09-26 15:23:56 字數 2191 閱讀 5616

資料爬取到之後,就要分析呈現了。爬蟲還在學習中,偶爾開拓一下思路,看看圖和表。

本節關於簡單的資料呈現,世界人口地圖。

pygal官方庫pygal:官方文件,雖是英文,但講的還是很詳細的,多讀多查多用。

自取吧,裡面公開了很多資料

裡面有注釋,不是很複雜,用到的就是字典。

# -*- coding: utf-8 -*-

"""created on thu aug 29 15:34:08 2019

@author: gwiely

"""import json

from pygal_maps_world.i18n import countries

import pygal_maps_world.maps

#from pygal_maps_world.style import rotatestyle #更改地圖顯示樣式 的庫?

filename = "population_data.json"

def get_country_code(country_name):

"""根據pygal_maps_world.i18n庫, 提取出國別碼"""

for code, name in countries.items():

if name == country_name:

return code

return none

def get_data():

all_data = {}

"""從檔案中根據國別碼匹配出該國人口數"""

with open(filename) as f:

result = json.load(f)

for items in result:

if items['year'] == 2016:

country_name = items['country name']

country_code = get_country_code(country_name)

population = items['value']

if country_code:

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

all_data[country_code] = int(population)

else:

continue

# print("error-: "+country_name)

return all_data

#print(get_data())

def main():

all_data = get_data()

# 新建三個字典,按人口進行分別儲存,

pop_1, pop_2, pop_3 = {},{},{}

for code, population in all_data.items():

if population < 10000000:

pop_1[code] = population

elif population < 1000000000:

pop_2[code] = population

else:

pop_3[code] = population

# print(pop_1, pop_2, pop_3)

print("<10m人口的國家個數:{},10m~1bn人口的國家個數:{},>1bn人口的國家個數:{}".format(len(pop_1), len(pop_2), len(pop_3)))

當然,還有許多樣式或者變化,一起探索吧。

python資料視覺化 pygal

pygal.line 基本單線型 pygal.stackedline fill true 相同的圖形但具有堆疊值和填充渲染 view.x labels map str,range 1,34 設定x軸取值範圍 1 單系列 1 import pygal 23 frequency 10,20,30,40,...

python資料分析之pygal畫廊

視覺化包pygal可以生成可縮放的向量圖形檔案,對於需要在尺寸不同的螢幕上顯示的圖表很有用,它將自動縮放,以適合 者的螢幕。import numpy as np class die def init self,num sizes 6 self.num sizes num sizes def roll...

Python 視覺化包Pygal

要了解使用 pygal 可建立什麼樣的圖表,請檢視圖表型別畫廊 訪問 1 例項 模擬篩子 die.py檔案 from random import randint class die def init self,num sides 6 self.num sides num sides def roll...