Seaborn PointPlot 类别排序问题
Seaborn PointPlot Category Ordering Issue
我一直在尝试在 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()
我得到了我想要的列表顺序。
本
如 tutorial 中所述,分类绘图函数遵循一组规则来确定绘图元素的顺序:
- 如果将一系列类别传递给
order
参数,则使用该顺序。
- 如果变量是 pandas
Categorical
并指定了类别顺序,则使用该顺序。
- 如果变量是数字,则值按排序顺序显示
- 否则,值将按照它们在 DataFrame 中出现的顺序显示。
我一直在尝试在 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()
我得到了我想要的列表顺序。
本
如 tutorial 中所述,分类绘图函数遵循一组规则来确定绘图元素的顺序:
- 如果将一系列类别传递给
order
参数,则使用该顺序。 - 如果变量是 pandas
Categorical
并指定了类别顺序,则使用该顺序。 - 如果变量是数字,则值按排序顺序显示
- 否则,值将按照它们在 DataFrame 中出现的顺序显示。