按3个变量分组的python条形图

2024-04-29 11:58:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着绘制一个条形图来显示3个变量:每个玩家按3种游戏类型(输了,赢了,平均)累积的不同建筑类型的计数。我希望不同类型的建筑为每个玩家分组,然后在一列中为不同类型的游戏计数。我的问题是,较小的值隐藏在较大的值后面而不可见。在

最好在照片上看到。对于公路和城市来说,这个图表看起来不错,但是对于定居点来说,只有损失的游戏数量是可见的。在赢的游戏中,玩家通常有较少的结算,所以输球游戏的结算数已经覆盖了赢游戏的点数。在

有没有办法把较小的值移到前面?(保留颜色和图例)

如果这是不可能的,有没有办法在一个图中以可读的方式显示这三个变量?在

我的数据如下:

df = pd.DataFrame(dict(
    pn_name=["player1", "player2", "player3", "player4"]*3,
    building_type=["settlements"]*4 +  ["cities"]*4 +  ["roads"]*4,
    won_game=[0.,1.35, 1.36, 1.36, 0., 3.48, 3.48, 3.47,0.,  8.27, 8.25, 8.33],
    avg_game=[1.81, 1.38, 1.39, 1.38, 0.5, 2.77, 2.76, 2.77, 7.75, 6.72, 6.7, 6.76],
    lost_game =[1.81, 1.4, 1.4, 1.39, 0.5, 2.41,2.42, 2.42, 7.75, 5.93,5.95, 5.96] ))

到目前为止我有这样的情节:

^{pr2}$

这给了我:

bar chart


Tags: game游戏类型数量图表玩家绘制照片