Как построить данные в Python 3 с помощью matplotlib

Вступление

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

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

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

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

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

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

Предпосылки

Для этого урока у вас должен быть установлен Python 3, а также локальная среда программирования, настроенная на вашем компьютере. Если это не так, вы можете выполнить настройку, следуяappropriate installation and set up guide for your operating system.

[[step-1 -—- importing-matplotlib]] == Шаг 1. Импорт matplotlib

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

python -c "import matplotlib"

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

OutputTraceback (most recent call last): File "", line 1, in  ImportError: No module named 'matplolib'

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

pip install matplotlib

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

scatter.py

import matplotlib.pyplot as plt

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

[[step-2 -—- created-data-points-to-plot]] == Шаг 2. Создание точек данных для построения графика

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

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

В нашем скрипте Python мы создадим две переменные списка:X (общее количество проданного холодного кофе) иY (средняя температура). Каждый элемент в нашем соответствующемlists будет представлять данные за каждый месяц (с января по декабрь). Например, в январе средняя температура составляла 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]

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

[[step-3 -—- plotting-data]] == Шаг 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 plot

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

[[шаг-4 -—- добавление-заголовки-и-метки]] == Шаг 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 plot with a title and X/Y labels.

[[step-5 -—- customizing-a-plot]] == Шаг 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: символ точки, по умолчанию = 'o ’

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

Чтобы наш график легче читался, давайте утроим размер точек (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.

[[step-6 -—- save-a-plot]] == Шаг 6 - Сохранение графика

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

python scatter.py

Теперь должно открыться окно с отображением нашего графика:

Alt Final scatter plot with title and X/Y labels and customized with larger

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

Заключение

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

Чтобы продолжить практиковать с matplotlib, вы можете следовать нашему руководству на “https://www.digitalocean.com/community/tutorials/how-to-graph-word-frequency-using-matplotlib-with-python-3[How To Graph Частота слов Использование matplotlib с Python 3]. »

Related