代码之家  ›  专栏  ›  技术社区  ›  Oxana Verkholyak

Seaborn barplot在道奇辩论中表现出人意料

  •  0
  • Oxana Verkholyak  · 技术社区  · 4 年前

    我正试图用seaborn制作一个嵌套的条形图。 如果没有道奇论证,情节看起来是这样的

    sns.barplot(data=pos_data, x='bin', y='%', hue='POS')

    Real data distribution

    现在我想嵌套4个条(n,v,a,r),但当我使用dodge=False参数时,绘图会丢失其中一个属性,即不显示v;然而,它仍然出现在传说中。

    sns.barplot(data=pos_data, x='bin', y='%', hue='POS', dodge=False)

    Seaborn has lost one of the values

    所有(n,v,a,r)值的总和应为1。我可以用pyplot绘制类似于我所需要的东西,所以结果应该类似于:

    How the result should look like

    下面是我使用的数据框

    data = {'bin': [0.16, 0.16, 0.16, 0.16, 0.28, 0.28, 0.28, 0.28, 0.38, 0.38, 0.38, 0.38, 0.5, 0.5, 0.5, 0.5, 0.62, 0.62, 0.62, 0.62, 0.73, 0.73, 0.73, 0.73, 0.84, 0.84, 0.84, 0.84, 0.94, 0.94, 0.94, 0.94], '%': [0.55, 0.15, 0.26, 0.05, 0.46, 0.12, 0.33, 0.09, 0.46, 0.12, 0.36, 0.06, 0.43, 0.1, 0.44, 0.03, 0.39, 0.06, 0.53, 0.02, 0.34, 0.07, 0.58, 0.01, 0.3, 0.11, 0.58, 0.01, 0.41, 0.1, 0.49, 0.0], 'POS': ['n', 'v', 'a', 'r', 'n', 'v', 'a', 'r', 'n', 'v', 'a', 'r', 'n', 'v', 'a', 'r', 'n', 'v', 'a', 'r', 'n', 'v', 'a', 'r', 'n', 'v', 'a', 'r', 'n', 'v', 'a', 'r']}
    df = pd.DataFrame(data)
    

    虽然我能够用matplotlib绘制,但我对结果并不满意,我希望能够用seaborn绘制,并理解为什么道奇参数会意外地行为,从而隐藏其中一个维度。

    0 回复  |  直到 4 年前