# Если страна не найдена, вернуть None.
# Вывод населения каждой страны за 2010 год.
Формат JSON
353
else:
print('ERROR - ' + country_name)
После извлечения названия и населения в
code
сохраняется код страны — или
None
,
если код недоступен . Если код получен, то код и население страны выводятся ко-
мандой print . Если код недоступен, выводится сообщение об ошибке с названием
страны, для которого не удалось найти код . Запустите программу, и вы увидите
коды стран с населением и несколько сообщений об ошибках:
ERROR - Arab World
ERROR - Caribbean small states
ERROR - East Asia & Pacific (all income levels)
...
af: 34385000
al: 3205000
dz: 35468000
...
ERROR - Yemen, Rep.
zm: 12927000
zw: 12571000
Ошибки происходят по двум причинам. Во-первых, классификация в наборе дан-
ных не всегда осуществляется по странам; часть статистики относится к регионам
или экономическим группам. Во-вторых, в части статистики используется другая
запись полных названий стран (
Yemen,
Rep.
вместо
Yemen
). Пока опустим данные
стран, вызывающие ошибки, и посмотрим, как будет выглядеть карта с успешно
прочитанными данными.
Построение карты мира
С имеющимися кодами стран карта мира строится легко и просто. В Pygal под-
держивается тип диаграммы
Worldmap
, упрощающий работу с географическими
наборами данных. В качестве примера использования
Worldmap
мы создадим про-
стую карту с данными по Северной, Центральной и Южной Америке:
americas.py
import pygal
wm = pygal.Worldmap()
wm.title = 'North, Central, and South America'
wm.add('North America', ['ca', 'mx', 'us'])
wm.add('Central America', ['bz', 'cr', 'gt', 'hn', 'ni', 'pa', 'sv'])
wm.add('South America', ['ar', 'bo', 'br', 'cl', 'co', 'ec', 'gf',
'gy', 'pe', 'py', 'sr', 'uy', 've'])
wm.render_to_file('americas.svg')
В точке мы создаем экземпляр класса
Worldmap
и задаем атрибут
title
объекта
карты. В точке используется метод
add()
, который получает метку и список
кодов стран, на которых вы хотите сосредоточиться. Каждый вызов
add()
создает
новый цвет для набора стран и добавляет этот цвет в список условных обозначений
354 Глава 16 • Загрузка данных
в левой части диаграммы с заданным текстом. Весь регион Северной Америки будет
представлен одним цветом, поэтому мы включаем коды
'ca'
,
'mx'
и
'us'
в список,
передаваемый первому вызову
add()
, для единого представления на карте Канады,
Мексики и Соединенных Штатов. Затем то же самое делается для стран Централь-
ной и Южной Америки.
Метод
render_to_file()
в точке создает файл
.svg
с диаграммой; вы можете от-
крыть этот файл в своем браузере. На полученной карте Северная, Центральная
и Южная Америка выделены другими цветами (рис. 16.7).
Достарыңызбен бөлісу: