Seaborn Catplot-将yticklabel映射为完整的7点Likert量表

时间:2019-02-12 08:34:18

标签: python matplotlib seaborn

我想在猫形图中显示李克特量表的调查结果。

因此,我使用这样的列表将值映射到其字符串表示形式:

likert_li = ['',
             'Strongly Disagree', 
             'Disagree',
             'More or less disagree',
             'Undecided',
             'More or less agree',
             'Agree',
             'Strongly agree']

情节看起来像这样:

g = sns.catplot(x="T", y=col[3], hue="Group", data=df_chat,
                kind="bar", palette="muted")
g.despine(left=True)
g.set_ylabels("")
g.set_xlabels("Test")
# g.set_yticklabels(likert_li)

使用g.set_yticklabels(likert_li) 进行以下操作: enter image description here

为此:

enter image description here

您会看到没有显示最后一个“完全同意”条目。

问题:如何显示整个李克特量表以及传递给set_yticklabels()的所有值?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我在docs of matplotlib.pyplot

中找到了解决方案

使用plt.yticks(np.arange(len(likert_li)), likert_li)将列表likert_li的所有字符串映射为np.arange(len(likert_li))的值的标签。