Как заказать коробчатые диаграммы по оси 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 )

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

 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 на основе среднего значения очков на команду в порядке возрастания.

Чтобы отобразить коробчатые диаграммы в порядке убывания, просто укажите возрастание=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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *