Построение гистограммы

We use cookies. Read the Privacy and Cookie Policy

Имея список частот, можно построить гистограмму результатов. Гистограмма представляет собой столбцовую диаграмму, наглядно отображающую относительные частоты результатов. Код построения гистограммы выглядит так:

die_visual.py

import pygal

...

# Анализ результатов.

frequencies = []

for value in range(1, die.num_sides+1):

frequency = results.count(value)

frequencies.append(frequency)

. .

# Визуализация результатов.

(1) hist = pygal.Bar()

hist.title = "Results of rolling one D6 1000 times."

(2)hist.x_labels = ['1', '2', '3', '4', '5', '6']

hist.x_title = "Result"

hist.y_title = "Frequency of Result"

(3)hist.add('D6', frequencies)

hist.render_to_file('die_visual.svg')

Чтобы построить столбцовую диаграмму, мы создаем экземпляр pygal.Bar(), который сохраняется в переменной hist (1) . Затем мы задаем атрибут title объекта hist (обычная строка, используемая как заголовок гистограммы), используем возможные результаты броска D6 как метки оси x (2), а также добавляем надпись для каждой из осей. Метод add() используется для добавления на гистограмму серии значений (3) (при этом ему передается метка для добавляемого набора и список значений, отображаемых на диаграмме). Наконец, диаграмма записывается в файл SVG, что предполагает имя файла с расширением .svg.

Полученную диаграмму проще всего просмотреть в браузере. Откройте новую вкладку в любом браузере, а в ней откройте файл die_visual.svg (из папки, в которой был сохранен файл die_visual.py). Диаграмма должна выглядеть примерно так, как на рис. 15.11. (Мы слегка изменили изображение для печати; по умолчанию Pygal генерирует диаграммы с более темным фоном, чем на рисунке.)

Рис. 15.11. Простая гистограмма, созданная с использованием Pygal

Обратите внимание на интерактивность диаграмм, построенных с использованием Pygal: если навести указатель мыши на столбец диаграммы, вы увидите данные, связанные с этим столбцом. Данная возможность особенно полезна при нанесении нескольких наборов данных на одну диаграмму.