Добавление подсказок
В Pygal при наведении указателя мыши на отдельный столбец отображается информация, которую этот столбец представляет. В текущей версии экранная подсказка (tooltip) отображает количество звезд проекта. Давайте создадим нестандартную подсказку, которая также будет выводить описание каждого проекта.
Рассмотрим короткий пример, в котором каждый из первых трех проектов выводится отдельно, с передачей нестандартных меток для каждого столбца. Для этого методу add() следует передавать список словарей вместо списка значений:
bar_descriptions.py
import pygal
from pygal.style import LightColorizedStyle as LCS, LightenStyle as LS
my_style = LS('#333366', base_style=LCS)
chart = pygal.Bar(style=my_style, x_label_rotation=45, show_legend=False)
chart.title = 'Python Projects'
chart.x_labels = ['httpie', 'django', 'flask']
(1) plot_dicts = [
(2) . .{'value': 16101, 'label': 'Description of httpie.'},
. .{'value': 15028, 'label': 'Description of django.'},
. .{'value': 14798, 'label': 'Description of flask.'},
. .]
(3)chart.add('', plot_dicts)
chart.render_to_file('bar_descriptions.svg')
Рис. 17.3. С каждым столбцом связывается нестандартная подсказка
В точке (1) определяется список с именем plot_dicts, который содержит три словаря: для проекта HTTPie, для проекта Django и для проекта Flask. Каждый словарь содержит два ключа: 'value' и 'label'. Pygal использует число, связанное с 'value', для определения высоты каждого столбца, а строка, связанная с 'label', используется для создания подсказки столбца. Например, первый словарь (2) создаст столбец, представляющий проект с 16 101 звездой, а в его подсказке будет содержаться текст Description of httpie.
Метод add() должен получать строку и список. При вызове add() передается список словарей, представляющих столбцы (plot_dicts) (3). Одна из подсказок изображена на рис. 17.3. Pygal включает количество звезд как подсказку по умолчанию в дополнение к нестандартной подсказке, которую мы определили в программе.