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


Рис. 17.3. С каждым столбцом связывается нестандартная подсказка Использование API веб-приложений    373



Pdf көрінісі
бет204/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   200   201   202   203   204   205   206   207   ...   238
Рис. 17.3. С каждым столбцом связывается нестандартная подсказка


Использование API веб-приложений    373

В точке  определяется список с именем 

plot_dicts

, который содержит три 

словаря: для проекта HTTPie, для проекта Django и для проекта Flask. Каждый 

словарь содержит два ключа: 

'value'

 и 


'label'

. Pygal использует число, связанное 

с 

'value'


, для определения высоты каждого столбца, а строка, связанная с 

'label'


используется для создания подсказки столбца. Например, первый словарь  соз-

даст столбец, представляющий проект с 16 101 звездой, а в его подсказке будет 

содержаться текст Description of httpie.

Метод 

add()


 должен получать строку и список. При вызове 

add()


 передается 

список словарей, представляющих столбцы (

plot_dicts

) . Одна из подска-

зок изображена на рис. 17.3. Pygal включает количество звезд как подсказку 

по  умолчанию в дополнение к нестандартной подсказке, которую мы определили 

в программе.

Нанесение данных на диаграмму

Чтобы построить диаграмму с данными, мы сгенерируем 

plot_dicts

 автоматически 

для 30 проектов, возвращенных вызовом API.



python_repos.py

...


# Анализ информации о репозиториях.

repo_dicts = response_dict['items']

print("Number of items:", len(repo_dicts))

names, plot_dicts = [], []



for repo_dict in repo_dicts:

names.append(repo_dict['name'])

    



    plot_dict = {



        'value': repo_dict['stargazers_count'],

        'label': repo_dict['description'],

        }

    plot_dicts.append(plot_dict)



# Построение визуализации.

my_style = LS('#333366', base_style=LCS)

...



chart.add('', plot_dicts)



chart.render_to_file('python_repos.svg')

В точке  создаются два пустых списка, 

names

 и 


plot_dicts

. Список 

names

 все еще 



необходим для построения меток оси x.

Внутри цикла для каждого проекта создается словарь 

plot_dict

 . В нем количе-

ство звезд сохраняется с ключом 

'value'


, а описание проекта — с ключом 

'label'


Затем словарь 

plot_dict

 каждого проекта присоединяется к 

plot_dicts

 . В точ-

ке  список 

plot_dicts

 передается 

add()


. Полученная диаграмма изображена 

на рис. 17.4.






Достарыңызбен бөлісу:
1   ...   200   201   202   203   204   205   206   207   ...   238




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

    Басты бет