Руководство для начинающих по визуализации данных с использованием Matplotlib.

Визуализация данных — одна из важных задач, которую должен выполнять Data Scientist. Визуализация делает данные более интерпретируемыми и делает их готовыми к анализу. Многие идеи, такие как распределение данных, могут быть извлечены из данных после их построения. Эти идеи могут даже значительно сократить время, затрачиваемое на определение модели. Здесь мы обсудим Matplotlib — библиотеку, которая преимущественно используется для построения графиков и визуализации данных.

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

Заговор

Наиболее важной функцией в matplotlib является график, который позволяет отображать 2D-данные. Вот простой пример:

# Compute the x and y coordinates for points on a sine curve
x = np.arange(0, 1, 0.1)
y = (x**2)
# Plot the points using matplotlib
plt.plot(x, y ,'g^')# g for green ^ for triangle
plt.grid()
plt.show()
# plt.savefig('figurename.png')

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

x = np.arange(0, 1, 0.1)
y_s = (x**2)
y_d = x*2
# Plot the points using matplotlib
plt.figure(figsize=(5,4))
plt.plot(x, y_s)
plt.plot(x, y_d)
plt.xlabel('x axis label')
plt.ylabel('y axis label')
plt.title('square and double')
plt.legend(['square', 'double'])

Подсюжеты

Вы можете отображать разные вещи на одном и том же рисунке, используя функцию подзаголовка. Вот пример:

# Compute the x and y coordinates for points on sine and cosine #curves
x = ['A','B','C','D']
y= [1,4,9,16]
# Set up a subplot grid that has height 2 and width 1,
# and set the first such subplot as active.
plt.subplot(3, 1, 1)
# Make the first plot
plt.plot(x, y)
plt.title('line')
# Set the second subplot as active, and make the second plot.
plt.subplot(3, 1, 2)
plt.pie(y,labels=x)
plt.axis('equal')
plt.title('pie')

plt.subplot(3, 1, 3)
plt.bar(x,y)
plt.title('bar')
# Show the figure.
plt.show()

Точечная диаграмма

Диаграмму рассеяния можно использовать для извлечения взаимосвязи между переменными.

x = np.arange(0, 1, 0.1)
y_s = (x**2)
y_d = x*2
plt.scatter( y_s,  y_d)#scatter plot between square and double of #list x
plt.xlabel('square')
plt.ylabel('double')
plt.show()

График регрессии

График можно использовать для получения линейной зависимости между двумя величинами в сравнении

# Create scatter plot
sns.regplot(x=y_s, y=y_d)
plt.xlabel('Quantity X (arbitrary units)')
plt.ylabel('Quantity Y (arbitrary units)')

Круговая диаграмма

Круговая диаграмма дает нам представление о том, что распределение приведенных ниже данных является нормальным распределением.

import seaborn as sns
from numpy import random
plt.pie(random.normal(size=100))#plot the pie chart of normal #distribution
plt.show()

Построение PDF-файла

Вы можете понять распределение точек данных, построив гистограмму или PDF. Это дает представление о том, где находится больше точек данных и как их разделить.

sns.distplot(random.uniform(size=100))#plot the pdf of uniform #distribution
plt.show()

Выше вы можете заметить, что между областью 0.75 и 1 больше точек от ее высоты.

Тепловая карта

Тепловая карта может дать нам сводку данных, включая представление элементов.

sns.heatmap(np.random.rand(10, 12))#plot the pdf of normal  #distribution
plt.show()

Бар Участок

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

courses = ['C','C++','Java','Python']
values = [20,25,35,39]
fig = plt.figure(figsize = (10,6))
# creating the bar plot
plt.bar(courses, values)
plt.xlabel("Courses")
plt.ylabel("No. of students")
plt.title("Students in different courses")
plt.show()

Здесь мы только что поцарапали основы Matplotlib, и в ближайшем будущем мы увидим больше на примерах.

Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.