Як замовити коробкові графіки на осі 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