Как создать столбчатую диаграмму в Python с помощью Matplotlib: пошаговое руководство

Что такое столбчатая диаграмма и когда ее использовать

Столбчатая диаграмма (или гистограмма) – это графическое представление данных, в котором используются столбцы различной высоты для отображения величины каждой категории. Столбчатые диаграммы идеально подходят для сравнения значений между различными категориями. Например, можно использовать столбчатую диаграмму для визуализации:

  • Сравнения трафика веб-сайта по дням недели.
  • Сравнения эффективности различных рекламных кампаний.
  • Оценки распределения бюджета по различным статьям расходов.

Краткий обзор библиотеки Matplotlib

Matplotlib – это мощная библиотека Python для создания статических, анимированных и интерактивных визуализаций. Она предоставляет широкий спектр инструментов для построения различных типов графиков, включая столбчатые диаграммы, графики рассеяния, линейные графики, круговые диаграммы и многое другое. Matplotlib является основой многих других библиотек визуализации данных в Python, таких как Seaborn и Pandas.

Установка Matplotlib

Прежде чем начать использовать Matplotlib, необходимо установить ее. Это можно сделать с помощью pip:

pip install matplotlib

Создание простой столбчатой диаграммы

Импорт библиотеки Matplotlib

Первым шагом является импорт библиотеки matplotlib.pyplot, которую обычно сокращают до plt:

import matplotlib.pyplot as plt

Подготовка данных для диаграммы (метки и значения)

Для создания столбчатой диаграммы необходимы две вещи: метки для категорий и значения, которые будут представлены высотой столбцов. Например:

categories: list[str] = ['Category A', 'Category B', 'Category C']
values: list[int] = [20, 35, 30]

Использование функции bar() для создания столбцов

Функция plt.bar() создает столбчатую диаграмму. Ей нужно передать метки и значения:

plt.bar(categories, values)

Отображение диаграммы с помощью show()

Чтобы отобразить созданную диаграмму, используйте функцию plt.show():

plt.show()

Полный код для создания простой столбчатой диаграммы:

import matplotlib.pyplot as plt

# Данные для диаграммы
categories: list[str] = ['Category A', 'Category B', 'Category C']
values: list[int] = [20, 35, 30]

# Создание столбчатой диаграммы
plt.bar(categories, values)

# Отображение диаграммы
plt.show()

Настройка столбчатой диаграммы

Добавление заголовка и меток осей

Чтобы сделать диаграмму более понятной, добавьте заголовок и метки осей:

plt.title('Пример столбчатой диаграммы')
plt.xlabel('Категории')
plt.ylabel('Значения')

Изменение цвета столбцов

Цвет столбцов можно изменить с помощью аргумента color:

plt.bar(categories, values, color='skyblue')

Изменение ширины столбцов

Ширину столбцов можно изменить с помощью аргумента width (значение от 0 до 1):

plt.bar(categories, values, width=0.7)

Добавление сетки для удобства чтения

Сетка может помочь в более точном чтении значений:

plt.grid(True)

Горизонтальные столбчатые диаграммы

Использование функции barh()

Для создания горизонтальной столбчатой диаграммы используйте функцию plt.barh():

plt.barh(categories, values)

Настройка горизонтальной диаграммы

Настройка горизонтальной диаграммы аналогична настройке вертикальной, но оси меняются местами. Например, plt.xlabel() будет влиять на вертикальную ось, а plt.ylabel() — на горизонтальную.

Группированные и составные столбчатые диаграммы

Создание группированной столбчатой диаграммы

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

import numpy as np

# Данные для диаграммы
categories: list[str] = ['Category A', 'Category B', 'Category C']
group1_values: list[int] = [20, 35, 30]
group2_values: list[int] = [25, 32, 34]

# Ширина столбца
width: float = 0.35

# Позиции для столбцов
x = np.arange(len(categories))

# Создание столбцов для каждой группы
plt.bar(x - width/2, group1_values, width, label='Group 1')
plt.bar(x + width/2, group2_values, width, label='Group 2')

# Настройка диаграммы
plt.xticks(x, categories)
plt.legend()
plt.show()

Создание составной столбчатой диаграммы (Stacked Bar Chart)

Составная столбчатая диаграмма показывает, как общая величина состоит из различных частей. Для ее создания нужно использовать аргумент bottom функции plt.bar():

# Данные для диаграммы
categories: list[str] = ['Category A', 'Category B', 'Category C']
values1: list[int] = [20, 35, 30]
values2: list[int] = [25, 32, 34]

# Создание первой группы столбцов
plt.bar(categories, values1, label='Values 1')

# Создание второй группы столбцов, располагая их поверх первой группы
plt.bar(categories, values2, bottom=values1, label='Values 2')

# Настройка диаграммы
plt.legend()
plt.show()

Настройка группированных и составных диаграмм

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


Добавить комментарий