Facetgrid 绘制堆叠归一化计数 - Seaborn

Facetgrid to plot stacked normalised counts - Seaborn

我的目标是使用 Seaborn facet grid 来绘制值的计数但已标准化,而不是纯计数。使用下方,每一行应显示 Item 中的每个唯一值。 x 轴应显示 Num 并且值来自 Label.

但是,每一行都没有被分区。每个 Item.

显示相同的数据
import pandas as pd
import Seaborn as sns

df = pd.DataFrame({      
    'Num' : [1,2,1,2,3,2,1,3,2],
    'Label' : ['A','B','C','B','A','C','C','A','B'],   
    'Item' : ['Up','Left','Up','Left','Down','Right','Up','Down','Right'],      
    })

g = sns.FacetGrid(df, 
              row = 'Item', 
              row_order = ['Up','Right','Down','Left'],                           
              aspect = 2, 
              height = 4, 
              sharex = True,
              legend_out = True
              )

g.map(sns.histplot, x = 'Num', hue = 'Label', data = df, multiple = 'fill', shrink=.8) 
g.add_legend()

也许你可以试试g.map_dataframe(sns.histplot, x='Num', hue = 'Label', multiple = 'fill', shrink=.8)。我不擅长 seaborn,我只是在 https://seaborn.pydata.org/generated/seaborn.FacetGrid.html 上查找,map_dataframe 似乎比 map 更好用。