使用pandas + seaborn将y轴设置为色调计数

时间:2018-05-30 14:53:09

标签: python pandas seaborn

我有一个如下所示的数据框:

this.arrayDrag.push(

我试图获得一个 unique_id element day-only 0 52221039 4 28 1 5212263 3 28 2 5244438 LS 27 3 4975676 4 22 4 9023691 1 24 来映射lmplot每天出现的频率,基本上与下面的计数图相同。

element

但是,我似乎无法找到将fig = sns.countplot(x="day-only", hue="element", data=df, hue_order=["1","2","3","4","LS","EA"], palette=color_element)的计数映射到y值的方法。我试过了

element

然后horse = df["element"].value_counts() count_of_y = numpy.asarray(horse)

当然,用seaborn文档告诉我y必须等于我的数据框中的列,这当然没有用。我似乎无法找到一种方法来简单计算元素作为我在y轴上的度量。我也试过计算我的fig = sns.lmplot(x="day-only", y=count_of_y, hue="element", data=df),但这也没有用。

这感觉就像一个非常简单的问题,但我似乎无法找到解决方案!谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我已经意识到我的错误在哪里并解决了我的问题。我以下列方式创建了一个新的数据框:

count_of_y = df["element"].groupby(df["day-only"]).value_counts().rename("counts").reset_index()
count_of_y

这给了我三列,在正确的位置有计数。然后我就可以用这个来策划。

fig = sns.lmplot(x="day-only", y="counts", hue="element", data=count_of_y, hue_order=["1","2","3","4","LS", "EA"], palette=color_element)