Станьте мастером представления и организации ваших данных в Python
Данные — это новое золото в эпоху Интернета. Большая часть доступных данных обычно неструктурирована; поэтому, как разработчикам, нам нужен способ упростить интерпретацию, и здесь на помощь приходит Matplotlib.
Введение
Из Документов.
Matplotlib — это обширная библиотека для создания статических, анимированных и интерактивных визуализаций на Python. Matplotlib делает простые вещи простыми, а сложные возможными.
Чтобы начать работу с Matplotlib, вам необходимо установить matplotlib с его зависимостями:
pip install matplotlib
После завершения установки вы должны получить следующий вывод.
Installing collected packages: numpy, six, python-dateutil, kiwisolver, pyparsing, packaging, cycler, fonttools, pillow, matplotlib Successfully installed cycler-0.11.0 fonttools-4.29.1 kiwisolver-1.3.2 matplotlib-3.5.1 numpy-1.22.1 packaging-21.3 pillow-9.0.0 pyparsing-3.0.7 python-dateutil-2.8.2 six-1.16.0
Затем импортируйте его следующим образом:
import matplotlib.pyplot as plt
С помощью этого импорта вы можете получить доступ ко всем функциям Matplotlib, используя короткий псевдоним plt.
Это может показаться простым, но линейный график может помочь вам визуализировать, как что-то меняется с течением времени. Например, вы можете визуализировать:
- Выступление студента в течение определенной продолжительности
- Как со временем меняются просмотры блога
- Как менялась температура в вашем городе с течением времени
- Продажи бизнеса за год
- Уровень преступности
Давайте создадим простой линейный график, показывающий, как бизнес вырос за пять лет. Сначала определите две переменные:
sales = [0, 1000,5000,15000,50000] year =[2010,2011,2012,2013,2014,2015]
По оси x отложите год, а по оси y отложите продажи. Следующий код построит линейный график, чтобы показать, как вырос бизнес.
import matplotlib.pyplot as plt year =[2010,2011,2012,2013,2014,2015] sales = [0, 1000,5000,15000,50000,100000] plt.plot(year, sales) plt.show()
Убедитесь, что длина двух списков одинакова, иначе вы получите ValueError
Наш график выглядит так:
Наш график выглядит хорошо, но он ничего не сообщает без меток, поэтому давайте назначим нашему графику метки по осям x и y.
- plt.title() дает заголовок
- plt.xlabel дает графику метку оси x
- plt.ylabel дает графику метку оси Y
import matplotlib.pyplot as plt year =[2010,2011,2012,2013,2014,2015] sales = [0, 1000,5000,15000,50000,100000] plt.plot(year, sales) plt.xlabel('year') plt.ylabel('Amount in Dollars') # title plt.title("Linear graph Showing Growth of Lux store") plt.show()
Несколько участков
Иногда вам нужно сравнить два набора данных, а это значит, что вам нужно будет нарисовать две линии на одном графике. Matplotlib автоматически назначит каждой строке свой цвет.
Предположим, мы хотим сравнить продажи с прибылью за тот же период. Данные для заказов будут
profit = [0,80,200,1500,2800,2600,3000]
Обновите код, чтобы отразить линию графика между количеством заказов и годом.
Теперь наш график выглядит так:
Matplotlib автоматически назначает каждой строке свой цвет, как вы можете видеть выше. Вы также можете указать другой цвет для каждой строки, используя имя цвета или шестнадцатеричный код.
plt.plot(year, sales, color = 'green) plt.plot(year,profit, color ='#7BCCB5')
Здесь мы используем зеленый цвет для линии продаж и сине-зеленый для линии прибыли.
Вы также можете указать стиль линий для графика.
plt.plot(year,profit, color ='#7BCCB5',linestyle ='--')
Другие доступные стили в matplotlibe включают:
Легенды
Легенды используются, когда у нас есть несколько линий на графике, чтобы дать имя каждой линии. Мы используем plt.legend() и указываем список меток для отображения
Мы хотим, чтобы первая строка представляла валовые продажи, а вторая — прибыль.
plt.legend([‘Gross sum of sales’,’profits’])
legend также принимает loc в качестве аргумента ключевого слова. loc указывает местоположение метки в виде кодов. Например, код 10 означает центр, а 4 означает правый нижний угол. Давайте добавим местоположение на график.
plt.legend([‘Gross sum of sales’,’profits’],loc =4)
Теперь наш график выглядит так:
Гистограмма
Как следует из названия, столбчатая диаграмма представляет собой графическое представление данных с помощью столбцов. Чтобы создать гистограмму с помощью Matplotlib, вы используете plt.bar()
, который принимает 2 входных аргумента.
- x-значения
- y-значения
Давайте создадим простую гистограмму, показывающую популярность видов пиццы в определенном заведении.
from matplotlib import pyplot as plt pizzas = [ 'Cheese','Veggie','Pepperoni','Meat','Margherita', 'BBQ Chicken ','Hawaiian','Buffalo '] popularity = [98, 90, 86, 84, 82, 80] plt.bar(range(len(popularity)), popularity) plt.show()
Гистограмма теперь выглядит так:
Приведенная выше гистограмма выглядит хорошо, но нельзя сказать, какие данные мы представляем. Давайте добавим несколько меток. Matplotlibs предоставляет метод .set_xticklabels, который устанавливает метки оси x со списком строковых меток.
В нашем случае список строк будет нашей строкой типов пиццы. Давайте добавим метки оси X.
Сначала мы определяем объект осей с помощью команды plt.subplot()
Наши этикетки выглядят рассыпавшимися; давайте повернем их, чтобы они выглядели более презентабельно, добавим поворот аргумента в метод set_xticklabels.
ax.set_xticklabels(pizzas,rotation=40)
Сложенные бары
Столбчатая диаграмма с накоплениемсравнивает два набора данных и обычно представляет собой столбцы, расположенные друг над другом.
Сначала мы определим наш второй набор данных для построения гистограммы с накоплением с помощью Matplotlib. В нашем случае мы сравниваем популярность пиццы в 2 городах, А и Б.
popularity_in_A = [98, 90, 86, 84, 82, 80,80,80] popularity_in_B = [90, 85, 84, 83, 82, 80,80,80]
Сначала мы строим нижний бар в обычном режиме, а затем строим второй бар с заданным ключевым словом аргумента bottom.
Круговые диаграммы
Согласно википедии,
Круговая диаграмма (или круговая диаграмма) – это круговая статистическая диаграмма, разделенная на сегменты для иллюстрации числовой пропорции. На круговой диаграмме длина дуги каждого среза (и, следовательно, его центральный угол и площадь) пропорциональна величине, которую он представляет.
Круговые диаграммы можно использовать для представления
- графическое представление людей, использующих язык программирования
- опрос общественного мнения и т.д.
Чтобы создать круговую диаграмму с помощью Matplotlib, вы используете команду plt.pie(), которая принимает значения, которые вы хотите представить. Например, мы собираемся нарисовать круговую диаграмму, показывающую популярность языков программирования со следующими данными.
programming_languages = ["Python", "Java","Javascript", "C++", "C#", 'C','Typescript'] Popularity = [230000, 170000, 150000, 100000,70000,70000,50000]
Давайте построим круговую диаграмму
from matplotlib import pyplot as plt programming_languages = ["Python", "Java","Javascript", "C++", "C#", 'C','Typescript'] Popularity = [230000, 170000, 150000, 100000,70000,70000,50000] plt.pie(Popularity,labels = programming_languages) plt.axis('equal') plt.show()
Чтобы добавить метку, мы будем использовать ключевое слово labels. Вы также можете добавить метку процента к каждому фрагменту, как показано ниже.
Гистограммы
Гистограмма представляет собой графическое представление распределения частот. Например, вы можете использовать гистограмму, чтобы определить, сколько людей относится к определенным возрастным группам. Чтобы создать гистограмму с помощью Matplotlib, мы используем plt.hist()
, который принимает данные в качестве входных данных.
Давайте нарисуем гистограмму со следующим набором данных.
data = [100, 210, 0, 3, 20, 1000]
В дополнение к данным вы также должны указать размер ячейки; например, наш первый бин может быть между 0 и 20.
from matplotlib import pyplot as plt data = [100, 210, 0, 3, 20, 1000] plt.hist(data, bins=20) plt.show()
Заключение
В этом руководстве было рассмотрено, как представлять данные в наиболее часто используемых формах представления данных. Matplotlib — это обширная библиотека, которая позволит вам полностью визуализировать и идентифицировать закономерности в ваших данных.
Если вам понравилось это читать, подумайте о том, чтобы зарегистрироваться, чтобы стать участником Medium.