Як замовити коробкові графіки на осі x у seaborn


Щоб змінити порядок прямокутних діаграм уздовж осі x у Seaborn, можна використати такі методи:

Спосіб 1: відсортуйте діаграми в коробці за допомогою спеціального порядку

 sns. boxplot (x=' group_var ', y=' values_var ', data=df, order=[' A ',' B ',' C '])

Спосіб 2: Сортування діаграм в коробці за допомогою метрики

 group_means=df. groupby ([' group_var '])[' values_var ']. mean (). sort_values (ascending= True )

sns. boxplot (x=' group_var ', y=' values_var ', data=df, order=group_means. index )

У наведених нижче прикладах показано, як використовувати кожен метод на практиці з наступним pandas DataFrame, який показує очки, набрані баскетболістами з трьох різних команд:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B',
                            'B', 'B', 'C', 'C', 'C', 'C', 'C'],
                   ' points ': [3, 4, 6, 8, 9, 10, 13, 16, 18, 20, 8, 9, 12, 13, 15]})

#view head of DataFrame
print ( df.head ())

  team points
0 to 3
1 to 4
2 to 6
3 to 8
4 to 9

Приклад 1: діаграми вікна замовлення з використанням спеціального порядку

У наведеному нижче коді показано, як створити коробкову діаграму, щоб візуалізувати розподіл балів для кожної команди та ранжувати коробкові діаграми в такому порядку на основі назви команди: C, A, B.

 import seaborn as sns

#create boxplots with custom order
sns. boxplot (x=' team ', y=' points ', data=df, order=[' C ', ' A ', ' B '])

Зауважте, що коробкові діаграми впорядковані вздовж осі x у точному порядку, який ми вказали.

Приклад 2: упорядкування квадратичних графіків за допомогою метрики

У наведеному нижче коді показано, як створити коробкову діаграму, щоб візуалізувати розподіл балів для кожної команди та ранжувати коробкові діаграми в порядку зростання на основі середньої кількості балів, набраних командою:

 import seaborn as sns

#calculate mean points by team
mean_by_team = df. groupby ([' team '])[' points ']. mean (). sort_values (ascending= True )

#create boxplots ordered by mean points (ascending)
sns. boxplot (x=' team ', y=' points ', data=df, order=mean_by_team. index )

Зауважте, що коробкові діаграми впорядковані вздовж осі X на основі середнього значення балів на команду в порядку зростання.

Щоб відобразити коробкові діаграми в порядку спадання, просто вкажіть ascending=False у функції sort_values() :

 import seaborn as sns

#calculate mean points by team
mean_by_team = df. groupby ([' team '])[' points ']. mean (). sort_values (ascending= False )

#create boxplots ordered by mean points (descending)
sns. boxplot (x=' team ', y=' points ', data=df, order=mean_by_team. index ) 

Коробкові діаграми тепер упорядковані вздовж осі X на основі середнього значення балів на команду в порядку спадання.

Примітка . Щоб відсортувати коробкові діаграми на основі іншої метрики (наприклад, медіани), просто вкажіть цю метрику після функції groupby() у коді вище.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові функції в seaborn:

Як видалити викиди з коробкової діаграми Seaborn
Як створити коробковий графік із кількома стовпцями в Seaborn

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *