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


Глава 16 • Загрузка данных Рис. 16.10



Pdf көрінісі
бет214/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   210   211   212   213   214   215   216   217   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )

358
Глава 16 • Загрузка данных
Рис. 16.10.
Численность мирового населения в 2010 году
В точке 

выводится длина каждого словаря для определения размеров групп. 
При нанесении данных на диаграмму 

все три группы добавляются на диаграмму 
Worldmap
. При запуске программы сначала выводятся размеры всех групп:
85 69 2
Вывод показывает, что существуют 85 стран с населением менее 10 миллионов, 
69 стран с населением от 10 миллионов до 1 миллиарда и две особые страны 
с населением свыше 1 миллиарда. Разбиение получается достаточно равномерным 
для получения содержательной карты. Полученная карта изображена на рис. 16.10.
Три разных цвета помогают подчеркнуть различия между уровнями населения. 
В каждом из трех уровней страны окрашиваются от светлого к темному оттенку 
в соответствии с ростом численности населения.
Оформление карты мира в Pygal
Группировка стран на карте работает эффективно, но цвета по умолчанию вы-
бираются довольно странно: например, в нашем примере Pygal выбирает схему 
с ярко-розовым и зеленым цветом. Директивы оформления Pygal помогут решить 
проблему с цветами.
В новой версии мы снова прикажем Pygal использовать один базовый цвет, но 
на этот раз выберем цвет и применим более выразительные оттенки для трех групп 
численности населения:
world_population.py
import json


Формат JSON
359
import pygal
 
from pygal.style import RotateStyle
...
# Группировка стран по 3 уровням населения.
cc_pops_1, cc_pops_2, cc_pops_3 = {}, {}, {}
for cc, pop in cc_populations.items():
if pop < 10000000:
...
 
wm_style = RotateStyle('#336699')
 
wm = pygal.Worldmap(style=wm_style)
wm.title = 'World Population in 2010, by Country'
...
Стили Pygal хранятся в модуле 
style
, из которого программа импортирует стиль 
RotateStyle

. Этот класс получает один аргумент — цвет RGB в шестнадцатерич-
ном формате 

. Затем Pygal выбирает цвета каждой группы на основании пере-
данного цвета. Цвет в 
шестнадцатеричном формате
представляет собой строку 
из символа решетки (
#
), за которым следуют шесть символов: первые два пред-
ставляют красную составляющую цвета, следующие два — зеленую и последние 
два — синюю. Значения составляющих лежат в диапазоне от 00 (нулевая интен-
сивность) до FF (максимальная интенсивность). В Интернете можно легко найти 
приложение для экспериментов с цветами и получения соответствующих значений 
RGB. Цвет, используемый в данном случае (
#336699
), содержит немного красного 
(33), чуть больше зеленого (66) и еще больше синего (99). В результате 
RotateStyle
назначается светло-синий базовый цвет для выполнения дальнейших операций.
RotateStyle
возвращает объект стиля, который сохраняется в переменной 
wm_style

Чтобы использовать объект стиля, передайте его в именованном аргументе при соз-
дании экземпляра 
Worldmap

. На рис. 16.11 изображена обновленная диаграмма.


Достарыңызбен бөлісу:
1   ...   210   211   212   213   214   215   216   217   ...   266




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

    Басты бет