Привет, мир!

В одном из моих предыдущих постов мы рассмотрели, как использовать различные пакеты для создания визуализаций ваших данных. Сегодня мы сосредоточимся на Seaborn и рассмотрим 5 различных графиков.

Если вы хотите узнать больше о моем предыдущем посте, вы найдете его здесь:



1. Линейный сюжет

Линейный график — это способ отображения данных вдоль числовой линии. Это полезно для визуализации тренда числовой переменной во времени.

Чтобы создать линейный график с помощью Seaborn, мы можем использовать функцию lineplot(). Допустим, у нас есть набор данных, который содержит ежедневные цены акций компании на момент закрытия за определенный период времени. Мы можем построить линейный график для визуализации тренда цен на акции следующим образом:

import seaborn as sns
import matplotlib.pyplot as plt
# Load the data
df = sns.load_dataset('dowjones')
# Create a line plot
sns.lineplot(x='date', y='price', data=df)
# Show the plot
plt.show()

Приведенный выше код создаст линейный график, показывающий тенденцию цен на акции с течением времени.

2. Диаграмма рассеяния

Точечная диаграмма — это графическое представление двух числовых переменных, где каждая точка данных отображается как точка в декартовой системе координат. Диаграммы рассеяния полезны для визуализации связи между двумя числовыми переменными.

Чтобы создать точечную диаграмму с помощью Seaborn, мы можем использовать функцию scatterplot(). Допустим, у нас есть набор данных, содержащий рост и вес группы людей. Мы можем создать точечную диаграмму, чтобы визуализировать взаимосвязь между ростом и весом следующим образом:

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

# Create a custom dataset
np.random.seed(0)
data = {'height': np.random.normal(5.5, 0.5, size=100),
        'weight': np.random.normal(120, 15, size=100)}
df = pd.DataFrame(data)

# Add a categorical variable
df['gender'] = np.random.choice(['male', 'female'], size=len(df))

# Create a scatter plot
sns.scatterplot(x='height', y='weight', hue='gender', data=df)

# Show the plot
plt.show()

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

3. Бар сюжет

Гистограмма — это графическое представление категориальных данных с использованием столбцов. Это полезно для сравнения значений категориальной переменной в разных категориях.

Чтобы создать гистограмму с помощью Seaborn, мы можем использовать функцию barplot(). Допустим, у нас есть набор данных, содержащий данные о продажах компании по регионам. Мы можем создать гистограмму для визуализации продаж по регионам следующим образом:

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd

# Load the data
data = {'region': ['North', 'South', 'East', 'West'],
        'sales': [200, 180, 160, 140]}
df = pd.DataFrame(data)
# Create a bar plot
sns.barplot(x='region', y='sales', data=df)
# Show the plot
plt.show()

Приведенный выше код создаст гистограмму, показывающую продажи по регионам.

4. Скрипичный сюжет

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

Чтобы создать сюжет скрипки с помощью Seaborn, мы можем использовать функцию violinplot(). Допустим, у нас есть набор данных, содержащий доход группы людей. Мы можем создать график скрипки, чтобы визуализировать распределение дохода следующим образом:

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

# Create a custom dataset
np.random.seed(0)
data1 = np.random.normal(50, 10, 200)
data2 = np.random.normal(60, 15, 250)
data3 = np.random.normal(70, 20, 300)

# Combine the data into a single dataset
data = np.concatenate([data1, data2, data3])

# Create a Pandas DataFrame
df = pd.DataFrame({'score': data})

# Add a categorical variable
df['group'] = np.random.choice(['Group 1', 'Group 2', 'Group 3'], size=len(df))

# Create a violin plot
sns.violinplot(x='group', y='score', data=df)

# Show the plot
plt.show()

Приведенный выше код сгенерирует график скрипки, показывающий распределение дохода.

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

Тепловая карта — это графическое представление данных, где значения представлены в виде цветов. Это полезно для визуализации связи между двумя или более переменными.

Чтобы создать тепловую карту с помощью Seaborn, мы можем использовать функцию heatmap(). Допустим, у нас есть набор данных, который содержит ежедневные данные о температуре и влажности для города. Мы можем создать тепловую карту для визуализации взаимосвязи между температурой и влажностью следующим образом:

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

# Load the data
date_range = pd.date_range('2022-01-01', '2022-01-07')
time_range = ['morning', 'afternoon', 'evening']

temperature = np.random.uniform(low=60, high=90, size=(7,3))
humidity = np.random.uniform(low=40, high=80, size=(7,3))

data = {'date': np.repeat(date_range, 3),
        'time': np.tile(time_range, 7),
        'temperature': temperature.flatten(),
        'humidity': humidity.flatten()}
df = pd.DataFrame(data)
# Create a pivot table
pivot_table = df.pivot(index='date', columns='time', values=['temperature', 'humidity'])
# Create a heatmap
sns.heatmap(pivot_table, annot=True)
# Show the plot
plt.show()

Приведенный выше код создаст тепловую карту, показывающую взаимосвязь между температурой и влажностью.

Это все на сегодня!

Пожертвования и прочее

Если вы хотите поддержать меня, рассмотрите возможность подписки на Medium, используя мою реферальную ссылку:



Если вы не хотите активировать план подписки, но все же хотите поддержать меня, подумайте о покупке моей музыки на Bandcamp:

https://inzaniak.bandcamp.com

Другие URL-адреса:

Личный сайт: https://inzaniak.github.io
Социальные ссылки: https://inzaniak.github.io/links.html
Linkedin: https://www.linkedin .com/in/umberto-grando-a8527b150/

Больше контента на PlainEnglish.io.

Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Следите за нами в Twitter, LinkedIn, YouTube и Discord.

Повысьте узнаваемость и принятие вашего технологического стартапа с помощью Circuit.