簡體   English   中英

使用熊貓+ Seaborn將y軸設置為色相計數

[英]Set y-axis as count of hue using pandas + seaborn

我有一個看起來像這樣的數據框:

   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 ,該lmplot映射出element每天出現的頻率,基本上與以下計數圖相同。

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

但是,我似乎找不到一種將element計數映射到y值的方法。 我試過了

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

然后, fig = sns.lmplot(x="day-only", y=count_of_y, hue="element", data=df)

當然,這並不是可行的,因為seaborn文檔告訴我y必須等於數據框中的一列。 而且我似乎找不到一種方法來獲取簡單的元素計數作為我在y軸上的度量。 我也嘗試過計算我的unique_id ,但這也沒有用。

這似乎是一個非常簡單的問題,但我似乎找不到解決方案! 謝謝你的幫助!

我已經意識到我的錯誤所在,並解決了我的問題。 我通過以下方式創建了一個新的數據框:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM