Seaborn PointPlot类别订购问题

时间:2016-10-20 22:21:15

标签: python seaborn

我一直在尝试在Seaborn中使用pointplot,一般来说它可以满足我的需要,而且我对这个功能印象非常深刻。

我的用例非常标准:

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()

我得到了我想要的清单。

1 个答案:

答案 0 :(得分:2)

tutorial中所述,分类绘图函数遵循一组规则来确定绘图元素的顺序:

  • 如果将一系列类别传递给order参数,则使用该顺序。
  • 如果变量是带有指定类别顺序的pandas Categorical,则使用该顺序。
  • 如果变量是数字,则值按排序顺序显示
  • 否则,值将按照它们在DataFrame中的显示顺序显示。