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



Pdf көрінісі
бет222/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   218   219   220   221   222   223   224   225   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )


Глава 17 • Работа с API
ство звезд, определяющее высоту столбцов. В цикле имя каждого проекта и коли-
чество звезд присоединяются к соответствующему списку 

.
Затем программа определяет стиль с использованием класса 
LightenStyle
(псев-
доним 
LS
) на базе темного оттенка синего цвета 

. Также передается аргу-
мент 
base_style
для использования класса 
LightColorizedStyle
(псевдоним 
LCS
). Метод 
Bar()
создает простую столбцовую диаграмму, которой передается 
стиль 
my_style

. Также передаются еще два стилевых аргумента: метки пово-
рачиваются под 45 градусов к оси 
x
(
x_label_rotation=45
), а условные обо-
значения скрываются, потому что на диаграмму наносится только одна серия 
данных (
show_legend=False
). Затем назначается заголовок диаграммы, а атрибуту 
x_labels
присваивается список 
names
.
Так как метки для этой серии данных не нужны, при добавлении данных 

вместо 
метки передается пустая строка. Полученная диаграмма изображена на рис. 17.1. 
Мы видим, что несколько первых проектов существенно популярнее остальных, 
но все эти проекты занимают важное место в экосистеме Python.
Рис. 17.1.
Проекты Python на GitHub с наибольшим количеством звезд
Доработка диаграмм Pygal
Немного доработаем стилевое оформление диаграммы. Мы собираемся внести 
несколько разных настроек, поэтому для начала слегка изменим структуру кода: 
создадим конфигурационный объект, который содержит все настройки, передава-
емые 
Bar()
:
python_repos.py
...
# Построение визуализации.
my_style = LS('#333366', base_style=LCS)

my_config = pygal.Config()


Использование API веб-приложений
371
 
my_config.x_label_rotation = 45
my_config.show_legend = False
 
my_config.title_font_size = 24
my_config.label_font_size = 14
my_config.major_label_font_size = 18
 
my_config.truncate_label = 15
 
my_config.show_y_guides = False
 
my_config.width = 1000
 
chart = pygal.Bar(my_config, style=my_style)
chart.title = 'Most-Starred Python Projects on GitHub'
chart.x_labels = names
chart.add('', stars)
chart.render_to_file('python_repos.svg')
В точке 

создается экземпляр класса Pygal 
Config
с именем 
my_config
; измене-
ние атрибутов 
my_config
приведет к изменению внешнего вида диаграммы. Мы 
задаем два атрибута 
x_label_rotation
и 
show_legend

, которые ранее передава-
лись в виде именованных аргументов при создании экземпляра 
Bar
. В точке 

назначаются размеры шрифта для заголовка диаграммы, дополнительных и ос-
новных меток. К дополнительным меткам на этой диаграмме относятся имена 
проектов по оси 
x
и большинство чисел по оси 
y
. Основными метками являются 
только метки оси 
y
для делений, кратных 5000 звездам. Эти метки должны быть 
более крупными, поэтому мы назначаем им другой размер шрифта. В точке 

атрибут 
truncate_label
используется для сокращения длинных имен проектов 
до 15 символов. (Если навести указатель мыши на сокращенное имя проекта, на 
экране появляется подсказка с полным именем.) Затем мы скрываем горизон-
тальные линии на графике, задавая атрибуту 
show_y_guides
значение 
False


Наконец, в точке 

назначается ширина диаграммы для более эффективного 
использования доступного места в браузере.
Теперь при создании экземпляра 
Bar

мы передаем 
my_config
в первом аргумен-
те; таким образом, один аргумент передает сразу все настройки конфигурации. 


Достарыңызбен бөлісу:
1   ...   218   219   220   221   222   223   224   225   ...   266




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

    Басты бет