Привет, мир!
В одном из моих предыдущих постов мы рассмотрели, как использовать различные пакеты для создания визуализаций ваших данных. Сегодня мы сосредоточимся на 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:
Другие URL-адреса:
Личный сайт: https://inzaniak.github.io
Социальные ссылки: https://inzaniak.github.io/links.html
Linkedin: https://www.linkedin .com/in/umberto-grando-a8527b150/