Построение гистограмм с использованием Matplotlib

Руководство по представлению данных с помощью гистограмм

Гистограмма - это метод визуализации данных, который можно использовать для представления числовых значений в наборе данных, чтобы показать, как разные точки данных отличаются друг от друга. Он использует столбик как меру величин. Чем больше полоса, тем выше число. Например, если сравнивать богатство, больший столбик на гистограмме означает большие деньги по сравнению с меньшим столбцом.

Пошаговое руководство по созданию гистограмм с помощью Jupyter Notebook

Загрузить набор данных

Набор данных лучших бомбардиров премьер-лиги в середине сезона 2019/20 был загружен с помощью Jupyter Notebook в IBM Watson Studio.

Импортируйте пакеты визуализации данных

Для запуска кодов, которые будут генерировать гистограмму, импортируется пакет визуализации данных под названием matplotlib. Ниже представлен набор кодов для импорта гистограммы. Matplotlib используется в языке программирования Python как библиотека для построения графиков.

## Import data visualization packages
import matplotlib.pyplot as plt
%matplotlib inline

Создание гистограммы

Гистограмма строится после установки пакета путем выполнения набора кодов ниже.

plt.bar("Player", "Stat", data = df_goal, color = "blue")
plt.xlabel("Players")
plt.ylabel("Goal Scored")
plt.title("Highest goal scorers in the Premier league 2019-20 by mid-season")
plt.show()

plt.bar («Player», «Stat», data = df_goal, color = «blue») используется для обозначения того, что гистограмма должна быть построена с использованием столбца Player в качестве оси x, столбца Stat в качестве оси y -axis должен использоваться набор данных df_goal, а цвет полосок синий. plt.xlabel («Игроки») и plt.ylabel («Goal Scored») используются для обозначения оси x и оси y соответственно. plt.title («Лучшие бомбардиры Премьер-лиги 2019–20 к середине сезона») используется для создания заголовка графика. plt.show () используется для создания графика с использованием предыдущих команд.

Результат выполнения приведенного выше кода можно увидеть ниже.

На гистограмме выше можно увидеть, что отметки оси x не видны должным образом. Таким образом, отметки оси x могут стать видимыми после вращения. Ниже приведен набор кодов, изменяющих гистограмму.

plt.bar("Player", "Stat", data = df_goal, color = "blue")
plt.xlabel("Players")
plt.xticks(rotation = 90)
plt.ylabel("Goal Scored")
plt.title("Highest goal scorers in the Premier league 2019-20 by mid-season")
plt.show()

Добавив plt.xticks (вращение = 90), гистограмма может быть преобразована в:

Это более понятная гистограмма с отметками на оси X, которые теперь вертикальны и видны.

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

Горизонтальную гистограмму также можно построить, изменив plt.bar на plt.barh в предыдущем наборе кодов.

plt.barh("Player", "Stat", data = df_goal, color = "red") plt.xlabel("Players") 
plt.ylabel("Goal Scored") 
plt.title("Highest goal scorers in the Premier league 2019-20 by mid-season")
plt.show()

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

Украшение гистограммы

Гистограмму можно изменить, запустив приведенный ниже набор кодов.

df_goal2 = df_goal[['Player', 'Stat']].sort_values(by = 'Stat', ascending = True)
ind = df_goal2.set_index("Player", inplace = True)
## A modified bar graph
bar = df_goal2.plot(kind='bar',figsize=(30, 16), color = "blue", legend = None)
bar
plt.yticks(fontsize = 24)
plt.xticks(ind,fontsize = 18)
plt.xlabel("Players", fontsize = 20)
plt.ylabel("Goal scored", fontsize = 20)
plt.title("Higehst goal scorers in the premier league mid-season of 2019/20", fontsize=32)
bar.spines['top'].set_visible(False)
bar.spines['right'].set_visible(False)
bar.spines['bottom'].set_linewidth(0.5)
bar.spines['left'].set_visible(True)
plt.show()

Было сделано несколько дополнений по сравнению с обычными кодами для построения гистограммы. Выше можно увидеть объект с именем bar, созданный с использованием вновь сформированного набора данных df_goal2 для разработки гистограммы с кодом bar = df_goal2.plot (kind = 'bar', figsize = (30, 16), цвет = «синий», легенда = Нет). Ind использовался для хранения индекса, который будет представлен осью x.

Колючки были удалены с верхней и правой сторон, но нижняя и левая корешки остались видимыми с использованием кодов: bar.spines ['top']. Set_visible (False), bar.spines ['right '] .set_visible (False), bar.spines [' bottom ']. set_linewidth (0,5) и bar.spines [' left ']. set_visible (True).

Результат этих кодов можно увидеть ниже.

Украшение горизонтальной гистограммы

Тот же процесс для украшения гистограммы применяется к горизонтальной гистограмме. Ниже приведен набор кодов для создания улучшенной версии.

## A modified horizontal bar graph
barh = df_goal2.plot(kind='barh',figsize=(30, 16), color = "red", legend = None)
barh
plt.yticks(fontsize = 24)
plt.xticks(ind,fontsize = 18)
plt.xlabel("Goal scored", fontsize = 22)
plt.ylabel("Players", fontsize = 22)
plt.title("Higehst goal scorers in the premier league mid-season of 2019/20", fontsize=32)
barh.spines['top'].set_visible(False)
barh.spines['right'].set_visible(False)
barh.spines['bottom'].set_linewidth(0.5)
barh.spines['left'].set_visible(True)
plt.show()

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

Те же наблюдения, которые были сделаны в отношении шипов на улучшенной гистограмме, можно сделать и в отношении шипов на этом графике.

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

Полную версию кода, использованного для этого проекта, можно найти здесь.