簡體   English   中英

Pandas、Seaborn、Plot 包含 2 列和 3º 色調的箱線圖

[英]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.

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