[英]Pandas, Seaborn, Plot boxplot with 2 columns and a 3º as hue
在具有 3 個變量的 Pandas Df 中,我想要 plot 2 列在 2 個不同的框中,第 3 列作為色調與 seaborn
我可以使用 pd.melt 到達第一步,但我無法插入色調並使其工作
這就是我所擁有的:
df=pd.DataFrame({'A':['a','a','b','a','b'],'B':[1,3,5,4,7],'C':[2,3,4,1,3]})
df2=df[['B','C']].copy()
sb.boxplot(data=pd.melt(df2), x="variable", y="value",palette= 'Blues')
我想在第一個 DF 中執行此操作,將變量“A”設置為 hue 你能幫幫我嗎?
謝謝
IIUC,您可以按如下方式實現:
df.melt
,對value_vars
使用A
列,對id_vars
使用['B','C']
。sns.boxplot
中,將融化的 df 提供給data
參數,並添加hue='A'
。import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.DataFrame({'A':['a','a','b','a','b'], 'B':[1,3,5,4,7], 'C':[2,3,4,1,3]})
sns.boxplot(data=df.melt(id_vars='A', value_vars=['B','C']),
x='variable', y='value', hue='A', palette='Blues')
plt.show()
結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.