Шаг 52.
Язык Python. Визуализация данных. Библиотека Matplotlib. Визуализация данных. Столбчатые и круговые диаграммы. Столбчатые диаграммы

    На этом шаге мы рассмотрим построение таких диаграмм.

    Для визуализации категориальных данных хорошо подходят столбчатые диаграммы. Для их построения используются функции:

    Построим простую диаграмму:

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(123)
groups = [f'P{i}' for i in range(7)]
counts = np.random.randint(3, 10, len(groups))
plt.bar(groups, counts)

plt.show()
Архив с файлом можно взять здесь.

    Результат работы приложения изображен на рисунке 1.


Рис.1. Вертикальная столбчатая диаграмма

    Если заменим bar() на barh(), то получим горизонтальную диаграмму:

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(123)
groups = [f'P{i}' for i in range(7)]
counts = np.random.randint(3, 10, len(groups))
plt.barh(groups, counts)

plt.show()
Архив с файлом можно взять здесь.

    Результат работы приложения изображен на рисунке 2.


Рис.2. Горизонтальная столбчатая диаграмма

    Рассмотрим более подробно параметры функции bar():

    Основные параметры:

х: массив
x-координаты столбцов.

height: скалярная величина или массив
Высоты столбцов.

width: скалярная величина, массив или optional
Ширина столбцов.

bottom: скалярная величина, массив или optional
у-координата базы.

align: {'center', 'edge'}, optional; значение по умолчанию: 'center'
Выравнивание по координате х.

    Дополнительные параметры:

color: цвет (смотри 18 шаг), набор цветовых элементов или optional
Цвет столбцов диаграммы.

edgecolor: цвет (смотри 18 шаг), набор цветовых элементов или optional
Цвет границы столбцов.

linewidth: скалярная величина, массив или optional
Ширина границы.

tick_label: str, массив или optional
Метки для столбца.

xerr, yerr: скалярная величина, массив размера shape(N,), shape(2, N) или optional
Величина ошибки для графика. Выставленное значение прибавляется/удаляется к верхней (правой - для горизонтального графика) границе. Может принимать следующие значения:
  • скаляр: симметрично +/- для всех баров;
  • shape(N,): симметрично +/- для каждого бара;
  • shape(2, N): выборочного - и + для каждого бара. Первая строка содержит нижние значения ошибок, вторая строка - верхние;
  • None: не отображать значения ошибок. Это значение используется по умолчанию.

ecolor: цвет (смотри 18 шаг), набор цветовых элементов или optional; значение по умолчанию: 'black'
Цвет линии ошибки.

log: bool, optional; значение по умолчанию: False
Включение логарифмического масштаба для оси у.

orientation: {'vertical', 'horizontal'}, optional
Ориентация: вертикальная или горизонтальная.

    Пример, демонстрирующий работу с параметрами bar():

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.colors as mcolors

bc = mcolors.BASE_COLORS
np.random.seed(123)
groups = [f'P{i}' for i in range(7)]
counts = np.random.randint(0, len(bc), len(groups))
width = counts * 0.1
colors = [['r', 'b', 'g'][int(np.random.randint(0, 3, 1))] for _ in counts]
plt.bar(groups, counts, width=width, alpha=0.6, bottom=2,
        color=colors, edgecolor='k', linewidth=2)

plt.show()
Архив с файлом можно взять здесь.

    Результат работы приложения изображен на рисунке 3.


Рис.3. Модифицированная столбчатая диаграмма

    На следующем шаге мы рассмотрим построение групповых столбчатых диаграмм.




Предыдущий шаг Содержание Следующий шаг