基于Matplotlib实现场地维度掷币决策堆叠柱状图需求
堆叠柱状图实现需求与代码修改
需求说明
- 将每个代表场地的柱子拆分为堆叠柱状图,按
bat first和field first两类进行堆叠 - 每个柱子对应一个场地,仅需对柱子做分区处理
样本数据
season venue toss_decision 2011/12 Shere Bangla National Stadium, Mirpur bat first 12 field first 12 Zahur Ahmed Chowdhury Stadium, Chittagong bat first 5 field first 3 2016/17 Shere Bangla National Stadium, Mirpur bat first 14 field first 21 Zahur Ahmed Chowdhury Stadium, Chittagong bat first 5 field first 6
现有绘图代码
# Plotting pivot_df.plot(kind='bar', figsize=(7, 3), width=0.3) plt.title('Win Counts by Venue and Toss Decision') plt.xlabel('Venue') plt.ylabel('Win Counts') plt.xticks(rotation=360) plt.legend(title='Toss Decision') plt.tight_layout() plt.show()
修改后代码(实现堆叠柱状图)
# Plotting pivot_df.plot(kind='bar', figsize=(7, 3), width=0.3, stacked=True) # 核心修改:添加stacked=True参数 plt.title('Win Counts by Venue and Toss Decision') plt.xlabel('Venue') plt.ylabel('Win Counts') plt.xticks(rotation=360) plt.legend(title='Toss Decision') plt.tight_layout() plt.show()
修改说明
在plot()方法中添加stacked=True参数,即可让每个场地对应的柱子按bat first和field first的数值进行堆叠展示,满足需求中柱子分区的要求。其他绘图参数可根据展示需求调整,原有逻辑保持不变。
内容的提问来源于stack exchange,提问作者Tshihab
相关产品推荐
相关产品推荐

