【发布时间】:2014-08-28 10:10:04
【问题描述】:
我的数据如下所示:
m=pd.DataFrame({'model':['1','1','2','2','13','13'],'rate':randn(6)},index=['0', '0','1','1','2','2'])
我想让因子图的 x 轴按 [1,2,13] 排序,但默认值为 [1,13,2]。
有人知道怎么改吗?
更新: 我想我已经通过以下方式弄清楚了,但也许有更好的方法通过使用索引来做到这一点?
sns.factorplot('model','rate',data=m,kind="bar",x_order=['1','2','13'])
【问题讨论】:
-
我无法在 OS X 上使用 Python 2.7.6 进行复制,我得到了您想要的顺序。
-
使用
x_order关键字参数。 -
@Ffisegydd,很可能是:
import seaborn as sb; sb.factorplot('model', 'rate', data=m)。我也得到了[1, 2, 13]的OP 预期顺序。 -
我发现了我的问题。因为我将模型的类型更改为字符串,这就是为什么 11 会早于 2 出现。非常感谢您的帮助!!! :) 但其实我还是对x_order很好奇,是不是必须要指定索引才能做到呢?
-
您好 mwaskom 非常感谢您的帮助!我以这种方式想通了,请查看更新,但我仍然很好奇使用索引来做到这一点的方式。谢谢!
标签: python pandas bar-chart seaborn