0

我正在尝试使用 seaborn 创建一个堆叠百分比的猫图。
我想将人们在射击任务中的决策结果(例如,正确的射击、不正确的射击、正确的非射击和不正确的非射击)绘制为其他三个变量(方向性 [正面与负面]、概率 [ '非常低​​'、'低'、'高'、'非常高']和决策轮[1、2、3、4、5、6、7、8])。

我只设法创建一个百分比图,其中感兴趣的主要变量(决策结果)的四个类别在单独的图表中显示为行变量(决策),作为方向性(色调)、概率(col)和决策的函数使用我在下面显示的代码轮 (x)。

你能帮我这样,而不是在单独的行中,每个条件的不同决策结果的百分比显示为堆叠(它们加起来为 100%)?

一个明确的优点是该图将是水平的并显示 % 值 - 但这不是必需的!:)

这是我用于显示百分比和输出的经典 catplot 的代码。我的目标是让不同行中显示的内容相互堆叠(使用不同的颜色)。

谢谢!

g = sns.catplot(x = 'Decision outcome', hue="Directionality", col="Probability", row = "Decision outcome", data=df, kind="count", hue_order=["Positive", "Negative"], col_order = ['V. low proba', 'Low proba', 'High proba', 'V. high proba'],
row_order = ['Correct shooting', 'Correct non-shooting', 'Incorr shooting', "Incorr non-shooting"], height=3, aspect=1, 
estimator=lambda x: sum(x==0)*100.0/len(x))
g.set_axis_labels('Decision trials', '%') 
g.despine(left=True) 
fig = g.fig 
fig.subplots_adjust(top=0.90, wspace=0.1)
g.set_titles(col_template = '{col_name}', row_template = '{row_name}')
g.add_legend(bbox_to_anchor=(0, 0.95), loc=2, borderaxespad=0., ncol = 1, frameon= False)

在此处输入图像描述

4

0 回答 0