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 中出现的顺序显示。