#python #seaborn
#python #seaborn
Вопрос:
Я пытался использовать pointplot в Seaborn, и в целом он делает то, что мне нужно, и я очень впечатлен функциональностью.
Мой вариант использования довольно стандартный:
sns.pointplot(x="Category_1", y="Parameter", hue="Category 2", data=df);
Моя проблема в том, что категория, которую я использую для оттенка, содержит строки в форме:
"1 string1", "2 string2", "3 string3", etc....
Это сделано специально, чтобы я мог получить определенный порядок при сортировке. Однако, когда я запускаю функцию Seaborn, порядок отличается.
По какой логике Seaborn упорядочивает это, и есть ли способ принудительно установить желаемый порядок. Если я сделаю:
A = df.Category2.unique()
A.sort()
Я получаю тот порядок списка, который я хочу.
Ben
Ответ №1:
Как объясняется в руководстве, функции категориального построения графика следуют набору правил для определения порядка элементов графика:
- Если в
order
параметр передается последовательность категорий, используется этот порядок. - Если переменной является pandas
Categorical
с присвоенным порядком категорий, используется этот порядок. - Если переменная числовая, значения отображаются в отсортированном порядке
- В противном случае значения отображаются в том порядке, в котором они отображаются во фрейме данных.