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


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



Pdf көрінісі
бет195/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   191   192   193   194   195   196   197   198   ...   238
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   ...   191   192   193   194   195   196   197   198   ...   238




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

    Басты бет