Диаграммы с столбцами в Matplotlib – Узнайте все, что вам нужно знать
В этом посте вы узнаете, как создавать столбчатые диаграммы в Matplotlib, включая добавление нескольких столбцов, добавление заголовков и меток осей, условное выделение столбцов, добавление легенд, а также настройку с помощью стилей Matplotlib.
Содержание
Загружаем наши данные
Для этого руководства мы загрузим наши данные в DataFrame Pandas. В течение всего руководства мы будем использовать только Pandas и Matplotlib.
Если вы используете Jupyter ноутбуки, будет полезно добавить магию %matplotlib inline
, чтобы видеть графики встроенными.
Давайте начнем с загрузки наших библиотек и данных:
Вывод фрейма данных:
Как создать гистограммы Matplotlib?
Создание простого столбчатого графика в Matplotlib достаточно легко. Мы можем просто использовать метод plt.bar()
, чтобы создать столбчатый график, и передать параметры x=
и height=
Давайте создадим столбчатую диаграмму, используя Годы в качестве меток по оси x и Общий в качестве высот:
Это выводит следующую гистограмму:
Как добавить заголовки и метки осей в столбчатые диаграммы?
Очень полезно добавлять заголовки и метки осей, чтобы данные были легче для понимания.
Matplotlib делает это просто, используя методы .title()
, .xlabel()
, и .ylabel()
Добавим это к нашему существующему графику. Мы можем сделать это, написав следующее:
Это возвращает следующий график:
Возможно, вы захотите настроить размер текста. Вы можете просто передать аргумент .fontsize=
в заголовки/метки осей. Давайте попробуем:
Это возвращает следующий график:
Как настроить ширину полос?
Может быть, вам захочется настроить ширину ваших столбцов.
Чтобы изменить ширину, вы можете передать аргумент width=
в метод .bar()
Ширины передаются как доля от 1, что означает, что если мы хотим изменить ширину до 25%, мы можем использовать 0.25.
Это возвращает следующее изображение:
Это довольно некрасиво, так что давайте изменим ширину на 0.9:
Это возвращает следующее изображение:
Как настроить цвета гистограмм?
Цвета диаграмм по умолчанию в Matplotlib, как правило, довольно невыразительные. Мы можем передать аргумент color=
в метод plt.bar()
Например, давайте изменим цвет на серый:
Этот код вернет следующий график:
Как условно настроить цвета полос?
Также возможно добавить пользовательские цвета к отдельным столбцам. Это делается путем передачи списка различных цветов.
Например, если вы хотите изменить цвет бара с наибольшим значением, вы можете создать список с цветами для каждого бара:
Это возвращает следующую диаграмму:
Тем не менее, это может быть утомительно — писать все эти списки вручную. Это также не позволяет динамически окрашивать их на основе данных. Однако мы можем сделать это программно, используя списковое включение. Если хотите узнать больше о списковых включениях, ознакомьтесь с моей статьей здесь
Это возвращает следующее изображение:
Как настроить выравнивание границ на гистограммах?
По умолчанию Matplotlib центрирует столбцы по меткам оси. Вы также можете изменить это, чтобы столбцы выравнивались по краям. Для этого используется параметр edge=
Давайте попробуем это с нашим сюжетом:
Это возвращает следующий график:
Как создать горизонтальную гистограмму в Matplotlib?
Matplotlib упрощает добавление горизонтальной гистограммы с помощью метода plt.barh()
. Это работает аналогично методу plt.bar()
, который мы уже изучили. Однако вместо параметров x=
и height=
используются параметры y=
и width=
Давайте попробуем это с нашими текущими данными:
Это возвращает следующее изображение:
Как создать двойную гистограмму в Matplotlib?
Использование двойной гистограммы очень полезно, когда вы хотите сравнить два ряда данных. Например, в нашем наборе данных есть информация о мужчинах и женщинах. Мы можем сравнить эти два ряда со временем, построив два отдельных графика, аналогичных нашему примеру линейного графика
Давайте попробуем:
Это возвращает следующее изображение:
Мы видим, что это выглядит не очень хорошо. Данные фактически перекрываются. Нам нужно отрегулировать ширину и переместить положения столбцов одной серии рядом со столбцами другой серии.
Мы установим ширину на уровне 40% (0,4) и добавим эту ширину к x-серии второго ряда.
Давайте попробуем:
Это возвращает следующую таблицу:
Как добавить легенду к гистограммам?
На данный момент неясно, какой цвет что обозначает. Мы можем прояснить это, добавив легенду к графику.
Чтобы сделать это, добавим аргумент label=
к каждому вызову plt.bar()
и присвоим необходимую метку. Затем вызовем метод .legend()
для объекта plt.
Давайте попробуем:
Это возвращает следующую диаграмму:
Легенду можно перемещать, используя аргумент loc=
в методе plt.legend()
. По умолчанию Matplotlib выбирает наилучшее расположение ('best'). Однако, мы также можем задать другие позиции, такие как нижний правый угол вручную.
Давайте попробуем это сделать:
Это возвращает следующее изображение:
Как добавить гистограмму с накоплением в Matplotlib?
Сложенные гистограммы могут быть очень полезным инструментом для визуализации сравнительных данных в серии, разбитых по другому признаку.
Это немного необычно делать в Matplotlib. Мы добавим второй график снова. Однако на этот раз мы можем использовать аргумент bottom=
, чтобы задать откуда должны начинаться столбцы для второго графика.
Что мы сделаем, так это установим нижнюю часть второго ряда на верхнюю часть первого.
Давайте попробуем это сделать:
Это возвращает следующую диаграмму:
Как добавить пропорциональную гистограмму с накоплением в Matplotlib?
Пропорциональные столбчатые диаграммы могут быть полезны, когда важны пропорции между различными рядами данных.
Способ, которым мы можем это сделать, заключается в создании новых серий пропорций и наложении их друг на друга.
Мы можем написать следующий код, чтобы сделать это и создать диаграмму:
Этот возвращает следующую диаграмму:
Как добавить стиль к гистограммам?
Наконец, давайте рассмотрим пример использования некоторых встроенных стилей Matplotlib. Чтобы узнать, какие стили доступны, вы можете напечатать следующее:
Это возвращает следующее: ['Solarize_Light2', '_classic_test_patch', 'bmh', 'classic', 'dark_background', 'fast', 'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn', 'seaborn-bright', 'seaborn-colorblind', 'seaborn-dark', 'seaborn-dark-palette', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted', 'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk', 'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'tableau-colorblind10']
Посмотрим, как будет выглядеть наша диаграмма в стиле ggplot
Этот возвращает следующую диаграмму:
Чтобы узнать больше о стилях, ознакомьтесь с официальной документацией здесь
Заключение
В этом посте вы узнали, как создавать столбчатые диаграммы Matplotlib, включая добавление нескольких столбцов, добавление заголовков и подписей осей, условную настройку цветов, добавление легенд и настройку с помощью стилей Matplotlib.
Чтобы узнать, как создавать другие типы графиков, такие как гистограммы, посмотрите мою коллекцию здесь
Last updated