使用seaborn和matplotlib堆积的条形图

时间:2018-07-09 17:17:38

标签: python pandas matplotlib seaborn

我是熊猫和matplotlib的新手,正在尝试实现以下目标。我有一个如下所示的数据框,它实际上是根据比赛日期列出球员表现的

name          runs  match_date  player_id
Dockrell, G H   0   2018-06-17  3752
Stirling, P R   81  2018-06-17  3586
O'Brien, K J    28  2018-06-17  3391
McCarthy, B J   0   2018-06-17  4563
Poynter, S W    0   2018-06-17  4326
Poynter, S W    2   2018-06-17  4326
McCarthy, B J   0   2018-06-17  4563
Shannon, J N K  5   2018-06-17  4219
Shannon, J N K  6   2018-06-17  4219
Stirling, P R   51  2018-06-17  3586

这是我根据以下代码创建的数据子集

match_performance = dataFrame[['name','runs','match_date','player_id']].sort_values('match_date',ascending=False).groupby('player_id').head(5)
sns.set_context({"figure.figsize": (10, 4)})
ax = sns.barplot(x="name", y="runs",  data=match_performance)
ax.set_xticklabels(ax.get_xticklabels(), rotation=90) 

Resultant graph 我需要将其绘制为堆积条形图或分组条形图,以根据我在数据帧中拥有的玩家ID来显示最近5场比赛中的玩家表现,但我不确定如何根据需要绘制此数据。

2 个答案:

答案 0 :(得分:0)

Seaborn的创建者Michael Waskom在Twitter上发布了此内容:

  

@randyzwitch我不太喜欢堆积的条形图,我建议也许   使用带有kind = point的pointplot / factorplot

     

-Michael Waskom(@michaelwaskom)2014年9月4日

很遗憾,答案是否定的。 Seaborn中没有内置功能可以绘制堆积的条形图。

答案 1 :(得分:0)

虽然这是一个较旧的问题,但我在寻找解决方案时发现了它,所以希望对您有所帮助。对于seaborn而言,实现堆叠的条形有点棘手,但这应该可以解决问题

display:none