Станьте мастером представления и организации ваших данных в 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.