Книга «Изучаем Python»



Pdf көрінісі
бет193/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   189   190   191   192   193   194   195   196   ...   238
Рис. 16.8. Численность населения стран Северной Америки

Сначала мы создаем экземпляр 

Worldmap

 и назначаем заголовок. Далее снова следу-

ет вызов 

add()


, но на этот раз во втором аргументе передается словарь вместо спи-

ска . Словарь содержит двухбуквенные коды стран Pygal (ключи) и численность 

населения (значения). Pygal автоматически использует числа для окраски стран 

от светлых (менее населенные) до темных (наиболее населенные). На рис. 16.8 

показана полученная карта.

Эта карта интерактивна: если вы наведете указатель мыши на каждую страну, то 

увидите ее население. Добавим на карту побольше данных.

Построение полной карты населения

Чтобы нанести на карту данные численности населения для других стран, об-

работанные ранее данные необходимо преобразовать в формат словаря Pygal: 

с двухбуквенными кодами стран и численностью населения, образующими пары 

«ключ—значение». Добавьте следующий код в 

world_population .py

:

world_population.py

import json

import pygal

from country_codes import get_country_code

# Список заполняется данными.

...

# Построение словаря с данными численности населения.




356    Глава 16  •  Загрузка данных

  cc_populations = {}



for pop_dict in pop_data:

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

country = pop_dict['Country Name']

population = int(float(pop_dict['Value']))

code = get_country_code(country)

if code:


            cc_populations[code] = population

wm = pygal.Worldmap()



wm.title = 'World Population in 2010, by Country'

wm.add('2010', cc_populations)



    

wm.render_to_file('world_population.svg')

Сначала импортируется модуль 

pygal


. В точке  создается пустой словарь для 

хранения кодов стран и численности населения в формате, принятом Pygal. В точ-

ке  для полученных кодов строится очередной элемент словаря 

cc_populations

ключом пары становится код страны, а значением — численность населения. Также 



из программы удаляются все команды 

print


.

Мы создаем экземпляр 

Worldmap

 и задаем его атрибут 

title

 . При вызове 



add()

 

передается словарь с кодами стран и значениями численности населения .



На рис. 16.9 изображена полученная карта.

Несколько стран, для которых данные отсутствуют, окрашены в черный цвет, но 

большинство стран раскрашено в соответствии с размером населения. Проблемой 

отсутствующих данных мы займемся позднее в этой главе, а сначала приведем тон 

закраски в соответствие с населением стран. В настоящее время на карте слишком 



Достарыңызбен бөлісу:
1   ...   189   190   191   192   193   194   195   196   ...   238




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет