Диаграмма рассеяния Matplotlib - Учебное пособие и примеры

Введение Matplotlib - одна из наиболее широко используемых библиотек визуализации данных в Python. От простых до сложных визуализаций - это библиотека для большинства. В этом руководстве мы рассмотрим, как построить диаграмму рассеяния с помощью Matplotlib. > Точечные диаграммы исследуют взаимосвязь между двумя числовыми переменными (характеристиками) набора данных. Импорт данных Мы будем использовать набор данных Ames Housing [https://www.kaggle.com/prevek18/ames-housing-dataset] и визуализировать корреляции между featu

Вступление

Matplotlib - одна из наиболее широко используемых библиотек визуализации данных в Python. От простых до сложных визуализаций - это библиотека для большинства.

В этом руководстве мы рассмотрим, как построить диаграмму рассеяния с помощью Matplotlib .

Точечные диаграммы исследуют взаимосвязь между двумя числовыми переменными (характеристиками) набора данных.

Импортировать данные

Мы будем использовать набор данных Ames Housing и визуализировать на его основе корреляции между объектами.

Давайте импортируем Pandas и загрузим в набор данных:

 import pandas as pd 
 
 df = pd.read_csv('AmesHousing.csv') 

Постройте точечную диаграмму в Matplotlib

Теперь, когда набор данных загружен, давайте импортируем Matplotlib, определимся с функциями, которые мы хотим визуализировать, и построим диаграмму рассеяния :

 import matplotlib.pyplot as plt 
 import pandas as pd 
 
 df = pd.read_csv('AmesHousing.csv') 
 
 fig, ax = plt.subplots(figsize=(10, 6)) 
 ax.scatter(x = df['Gr Liv Area'], y = df['SalePrice']) 
 plt.xlabel("Living Area Above Ground") 
 plt.ylabel("House Price") 
 
 plt.show() 

Здесь мы создали график, используя экземпляр PyPlot, и установили размер фигуры. Используя возвращенный Axes , который возвращается из функции subplots() , мы вызвали функцию scatter()

Нам нужно предоставить x и y в качестве функций, которые мы хотели бы использовать для заполнения графика. Выполнение этого кода приводит к:

Учебник по простому графику разброса вmatplotlib{.ezlazyload}

Мы также установили метки x и y, чтобы указать, что представляют собой переменные. Между этими двумя переменными существует явная положительная корреляция. Чем больше площадь над землей, тем выше была цена дома.

Есть несколько отклонений, но подавляющее большинство следует этой гипотезе.

Построение графиков множественного разброса в Matplotlib

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

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

Легкий способ сделать это - построить два участка: на одном мы построим график площади над уровнем земли в зависимости от продажной цены, а на другом - общее качество в зависимости от продажной цены.

Давайте посмотрим, как это сделать:

 import matplotlib.pyplot as plt 
 import pandas as pd 
 
 df = pd.read_csv('AmesHousing.csv') 
 
 fig, ax = plt.subplots(2, figsize=(10, 6)) 
 ax[0].scatter(x = df['Gr Liv Area'], y = df['SalePrice']) 
 ax[0].set_xlabel("Living Area Above Ground") 
 ax[0].set_ylabel("House Price") 
 
 ax[1].scatter(x = df['Overall Qual'], y = df['SalePrice']) 
 ax[1].set_xlabel("Overall Quality") 
 ax[1].set_ylabel("House Price") 
 
 plt.show() 

Здесь мы вызвали plt.subplots() , передав значение 2 чтобы указать, что мы хотим создать экземпляры двух подзаголовков на рисунке.

Мы можем получить к ним доступ через экземпляр Axes ax . ax[0] относится к осям первого подзаголовка, а ax[1] относится к осям второго подзаголовка.

Здесь мы вызвали scatter() для каждого из них, снабдив их метками. Выполнение этого кода приводит к:

графики множественного рассеяния matplotlib наподзаголовках{.ezlazyload}

Построение трехмерной диаграммы рассеяния в Matplotlib

Если вы не хотите визуализировать это в двух отдельных подзаголовках, вы можете построить корреляцию между этими переменными в 3D. Matplotlib имеет встроенную функцию трехмерного построения графиков, так что сделать это очень просто.

Во- первых, мы должны импортировать Axes3D класс от mpl_toolkits.mplot3d . Этот особый тип Axes необходим для 3D-визуализации. С его помощью мы можем передать другой аргумент - z , который является третьей функцией, которую мы хотели бы визуализировать.

Давайте продолжим и импортируем Axes3D и построим диаграмму рассеяния для трех предыдущих функций:

 import matplotlib.pyplot as plt 
 import pandas as pd 
 from mpl_toolkits.mplot3d import Axes3D 
 
 df = pd.read_csv('AmesHousing.csv') 
 
 fig = plt.figure() 
 ax = fig.add_subplot(111, projection = '3d') 
 
 x = df['SalePrice'] 
 y = df['Gr Liv Area'] 
 z = df['Overall Qual'] 
 
 ax.scatter(x, y, z) 
 ax.set_xlabel("Sale price") 
 ax.set_ylabel("Living area above ground level") 
 ax.set_zlabel("Overall quality") 
 
 plt.show() 

Запуск этого кода приводит к интерактивной трехмерной визуализации, которую мы можем панорамировать и исследовать в трехмерном пространстве:

Математическая диаграмма рассеянияmatplotlib{.ezlazyload}
Математическая диаграмма рассеянияmatplotlib{.ezlazyload}

Настройка точечной диаграммы в Matplotlib

Вы можете изменить внешний вид графика, снабдив scatter() дополнительными аргументами, такими как color , alpha и т. Д .:

 ax.scatter(x = df['Gr Liv Area'], y = df['SalePrice'], color = "blue", edgecolors = "white", linewidths = 0.1, alpha = 0.7) 

Выполнение этого кода приведет к:

matplotlib настроить графикразброса{.ezlazyload}

Заключение

В этом руководстве мы рассмотрели несколько способов построения графика рассеяния с помощью Matplotlib и Python.

Если вас интересует визуализация данных и вы не знаете, с чего начать, обязательно ознакомьтесь с нашим комплектом книг по визуализации данных в Python{.ebook-link} :

::: {style=“border: 1px solid #ebebeb;padding: 15px;"} {.ebook-link}

Визуализация данных в Python

::: {.row} ::: {.col-md-4 .col-xs-12} {.ezlazyload .img-responsive .center-block} :::

::: {.col-md-8 .col-xs-12 .my-auto} Станьте опасными с визуализацией данных

✅ 30-дневная гарантия возврата денег без вопросов

✅ от начального до продвинутого

✅ Регулярно обновляется бесплатно (последнее обновление в апреле 2021 г.)

✅ Обновлено с бонусными ресурсами и руководствами ::: ::: :::

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

Он служит подробным руководством, которое научит вас всему, что вам нужно знать о Pandas и Matplotlib, в том числе о том, как создавать типы графиков, которые не встроены в саму библиотеку.

Книга «Визуализация данных в Python» , книга для начинающих и средних разработчиков Python, проведет вас через простые манипуляции с данными с помощью Pandas, охватит основные библиотеки построения графиков, такие как Matplotlib и Seaborn, и покажет, как использовать преимущества декларативных и экспериментальных библиотек, таких как Altair. В частности, на протяжении 11 глав эта книга охватывает 9 библиотек Python: Pandas, Matplotlib, Seaborn, Bokeh, Altair, Plotly, GGPlot, GeoPandas и VisPy.

Он служит уникальным практическим руководством по визуализации данных в виде множества инструментов, которые вы можете использовать в своей карьере.

comments powered by Disqus