#python #matplotlib #seaborn
#python #matplotlib #seaborn
Вопрос:
Итак, в настоящее время я произвел кластеризацию для набора данных Facebook и поместил данные метки для каждой строки с каждым кластером, который у меня есть, и фрейм данных выглядит следующим образом
итак, я хотел бы отобразить данные в виде столбчатой диаграммы, поэтому я сгруппировал данные следующим образом
dfff=x_df.groupby("cluster")["page_type"].value_counts()
и вывод, подобный этому
cluster page_type
0 government 5387
company 3231
politician 3149
tvshow 1679
1 government 563
company 9
politician 2
2 company 3255
politician 2617
tvshow 1648
government 930
Name: page_type, dtype: int64
итак, как я могу построить этот ряд в виде столбчатой диаграммы из 3 столбцов (0, 1, 2), которые являются кластером, который у меня есть?
Ответ №1:
- Чтобы создать график столбчатой диаграммы со стеком,
.unstack
используйте groupby dataframedfff
. - Руководство пользователя pandas: визуализация
import pandas as pd
import matplotlib.pyplot as plt
# given dfff and a groupby dataframe
dfp = dfff.unstack()
# display(dfp)
page_type company government politician tvshow
id
0 3231.0 5387.0 3149.0 1679.0
1 9.0 563.0 2.0 NaN
2 3255.0 930.0 2617.0 1648.0
# plot stacked bar
dfp.plot.bar(stacked=True)
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left')
Seaborn look
import matplotlib.pyplot as plt
# set style parameter
plt.style.use('seaborn')
# plot stacked bar
dfp.plot.bar(stacked=True)
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left')
Комментарии:
1. большое вам спасибо, это мне очень помогает, проблема заключалась в том, как преобразовать его в datafram функция unstack поможет мне, я реализую ее в seabor спасибо
2. @RAbeeq рад, что это помогло. Seaborn — это просто API для matplotlib, а pandas использует matplotlib. Непросто создать столбчатую диаграмму с помощью seaborn api.
3. @RAbeeq если вы хотите, чтобы он выглядел как график seaborn, используйте
plt.style.use('seaborn')
. Это глобальный параметр.