Matplotlib: как создавать диаграммы по группам


Вы можете использовать следующий синтаксис для создания коробчатых диаграмм по группам в Matplotlib:

import matplotlib as plt
import seaborn as sns

sns.boxplot(x='group', y='values', data=df)

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

Пример 1: Блочные диаграммы по группам для длинных данных

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

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

#create long-form data
df = pd.DataFrame({'points': [7, 8, 9, 12, 14, 5, 6, 6, 8, 11, 8, 9, 11, 13, 17],
 'team ': np.repeat(['A', 'B', 'C'], 5)})

#view data
print(df)

 points team
0 7 A
1 8 A
2 9 A
3 12 A
4 14 A
5 5 B
6 6 B
7 6 B
8 8 B
9 11 B
10 8 C
11 9 C
12 11 C
13 13 C
14 17 C

#create boxplot by group
sns.boxplot(x='team', y='points', data=df) 

Пример 2: Блочные диаграммы по группам для широкоформатных данных

В следующем коде показано, как создавать диаграммы по группам для кадра данных pandas в широком формате:

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

#create wide-form data
df = pd.DataFrame({'A': [7, 8, 9, 12, 14],
 'B': [5, 6, 6, 8, 11],
 'C': [8, 9, 11, 13, 17]})

#view data
print(df)

 A B C
0 7 5 8
1 8 6 9
2 9 6 11
3 12 8 13
4 14 11 17

#create boxplot by group
sns.boxplot(x='variable', y='value', data=pd.melt(df)).set (
 xlabel='team', 
 ylabel='points')

Дополнительные ресурсы

Как построить несколько строк в Matplotlib
Как создать столбчатую диаграмму с накоплением в Matplotlib