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
更好用。
我的目标是使用 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
更好用。