Как использовать данные в Python 3 Использование matplotlib

Вступление

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

Например, скажите, что вы агент по недвижимости, и вы пытаетесь понять отношения между возрастом дома и его отпускной ценой. Если ваши данные включали 1 блок из 5 домов, было бы не слишком сложно понять, что происходит. Однако, скажем, вы хотели использовать данные из всего города в 500 домов. Тогда стало бы трудно понять, как возраст влияет на цену. Визуализация данных, составление графика продажи по сравнению с возрастом, может определенно пролить свет на отношения, существующие между ними.

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

Мы будем использовать библиотеку 2D-графики, matplotlib , которая была первоначально написана Джоном Д. Хантером и с тех пор стала очень активным проектом сообщества разработчиков с открытым исходным кодом. Он позволяет создавать высококачественные линейные графики, графики рассеяния, гистограммы, гистограммы и многое другое. Каждый сюжет представляет данные по-другому, и часто бывает полезно опробовать разные типы сюжетов, прежде чем окунуться в наиболее информативный сюжет для ваших данных. Хорошо иметь в виду, что визуализация представляет собой смесь искусства и науки.

Учитывая важность визуализации, этот учебник опишет, как строить данные на Python, используя matplotlib. Мы будем генерировать диаграмму рассеяния с использованием небольшого набора данных, добавляя информацию, такую ​​как названия и легенды, к графикам, и настраивая графики, изменяя, как выглядят точки сюжета.

Когда вы закончите с этим уроком, вы сможете записывать данные на Python!

Предпосылки

Для этого урока вы должны установить Python 3, а также локальную среду программирования, установленную на вашем компьютере. Если это не так, вы можете настроить его, следуя соответствующей установке и настроить руководство для своей операционной системы .

Шаг 1 — Импортирование matplotlib

Прежде чем мы сможем начать работать на Python, давайте дважды проверим, установлен ли модуль matplotlib. В командной строке проверьте matplotlib, выполнив следующую команду:

  • python -c «import matplotlib»

Если установлен matplotlib, эта команда завершится без ошибок, и мы готовы к работе. В противном случае вы получите сообщение об ошибке:

Output
  • Traceback (most recent call last): File «<string>», line 1, in <module> ImportError: No module named ‘matplolib’

Если вы получили сообщение об ошибке, загрузите библиотеку, используя pip:

  • pip install matplotlib

Теперь, когда matplotlib установлен, мы можем импортировать его в Python. Во- первых, давайте создадим сценарий , который мы будем работать с в этом учебнике: scatter.py. Затем, в нашем скрипте, давайте импортируем matplotlib. Поскольку мы будем работать только с модулем построения (pyplot), давайте укажем, когда мы его импортируем.

scatter.py
import matplotlib.pyplot as plt

Мы указываем модуль, который мы хотим импортировать, добавив .pyplotк концу matplotlib. Чтобы упростить обращение к модулю в нашем скрипте, мы сокращаем его как plt. Теперь мы можем перейти к созданию и построению наших данных.

Шаг 2 — Создание точек данных для графика

В нашем скрипте Python давайте создадим некоторые данные для работы. Мы работаем в 2D, поэтому нам понадобятся координаты X и Y для каждой из наших точек данных.

Чтобы лучше понять, как работает matplotlib, мы свяжем наши данные с возможным реальным сценарием. Давайте притворимся, что мы являемся владельцами кафе, и нас интересуют отношения между средней погодой в течение года и общим количеством покупок замороженного кофе. Наша переменная X будет общим количеством замороженных кофе в месяц, а наша переменная Y будет средней температурой в Фаренгейте в течение каждого месяца.

В нашем скрипте Python мы создадим две переменные списка: X(общий объем проданных замороженных кофейных изделий) и Y(средняя температура). Каждый пункт в наших соответствующих списках будет представлять данные с каждого месяца (с января по декабрь). Например, в январе средняя температура составляла 32 градуса Фаренгейта, а в кофейне было продано 590 кофе со льдом.

scatter.py
import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

Теперь, когда у нас есть наши данные, мы можем начать рисовать.

Шаг 3 — Обработка данных

Границы рассеяния отлично подходят для определения взаимосвязи между двумя переменными, поэтому мы будем использовать этот тип графика для нашего примера. Чтобы создать график рассеяния с использованием matplotlib, мы будем использовать эту scatter()функцию. Функция требует двух аргументов, которые представляют значения координат X и Y.

scatter.py
import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

plt.scatter(X,Y)
plt.show()

Каждый раз, когда мы создаем сюжет, мы также должны указать, что мы хотим, чтобы график показывался с помощью plt.show().

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

  • python scatter.py

Если все пойдет хорошо, окно должно запустить отображение сюжета, например:

График Alt Scatter

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

Шаг 4 — Добавление названий и ярлыков

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

Начнем с добавления названия. Мы добавляем заголовок перед plt.show()строкой в ​​нашем скрипте.

scatter.py
import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

plt.scatter(X,Y)

plt.title('Relationship Between Temperature and Iced Coffee Sales')

plt.show()

Затем добавьте метки для осей прямо под plt.titleстрокой:

scatter.py
...
plt.xlabel('Cups of Iced Coffee Sold')
plt.ylabel('Temperature in Fahrenheit')
...

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

Alt Scatter с заголовком и метками X / Y.

Шаг 5 — Настройка сюжета

Каждый набор данных, с которыми мы работаем, будет уникальным, и важно иметь возможность настраивать, как мы хотим отображать нашу информацию. Помните, что визуализация также является искусством, поэтому проявляйте творческий подход к ней! matplotlib включает в себя множество функций настройки, таких как разные цвета, символы точек и размер. В зависимости от наших потребностей, мы можем играть в разных масштабах, используя разные диапазоны для наших осей. Мы можем изменить параметры по умолчанию, обозначив новые диапазоны для осей, например:

scatter.py
import matplotlib.pyplot as plt

X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

plt.scatter(X,Y)

plt.xlim(0,1000)
plt.ylim(0,100)

plt.title('Relationship Between Temperature and Iced Coffee Sales')

plt.show()
...

Точки из первоначального сюжета выглядели немного маленькими, а синий цвет — это не тот цвет, который мы хотим. Возможно, нам нужны треугольники вместо кругов для наших очков. Если мы хотим изменить фактический цвет / размер / форму точек, мы должны внести эти изменения в первоначальный plt.scatter()вызов. Мы изменим следующие параметры:

  • s: размер точки, по умолчанию = 20
  • c: цвет, последовательность или последовательность цветов, по умолчанию = ‘b’
  • marker: символ точки, default = ‘o’

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

Чтобы сделать наш график более удобным для чтения, давайте утроим размер точек ( s=60), изменим цвет на красный ( c='r') и изменим символ на треугольник ( marker='^'). Мы изменим plt.scatter()функцию:

plt.scatter(X, Y, s=60, c='red', marker='^')

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

scatter.py
import matplotlib.pyplot as plt


X = [590,540,740,130,810,300,320,230,470,620,770,250]
Y = [32,36,39,52,61,72,77,75,68,57,48,48]

#scatter plot
plt.scatter(X, Y, s=60, c='red', marker='^')

#change axes ranges
plt.xlim(0,1000)
plt.ylim(0,100)

#add title
plt.title('Relationship Between Temperature and Iced Coffee Sales')

#add x and y labels
plt.xlabel('Cups of Iced Coffee Sold')
plt.ylabel('Temperature in Fahrenheit')

#show plot
plt.show()

Не забудьте сохранить свой сценарий, прежде чем перейти к шагу 6.

Шаг 6 — Сохранение сюжета

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

  • python scatter.py

Теперь откроется окно с отображением нашего сюжета

Alt Конечная диаграмма рассеяния с заголовками и метками X / Y и настраивается с большими, красными, треугольными точками.

Затем сохраните график, нажав кнопку сохранения, которая является значком диска, расположенным на нижней панели инструментов. Имейте в виду, что изображение будет сохранено как PNG вместо интерактивного графика. У вас теперь есть собственный собственный график рассеяния, поздравляю!

Заключение

В этом уроке вы узнали, как строить данные с использованием matplotlib в Python. Теперь вы можете визуализировать данные и настраивать графики.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *