Руководство для начинающих по визуализации данных с использованием 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.