如何用Matplotlib子图批量绘制多支球队的橄榄球场地序列图
橄榄球球队序列可视化批量绘制方案
核心函数说明
draw_pitch_horizontal(): 用于绘制横向布局的橄榄球场地图,是可视化的基础画布plot_sequence_moyenne(team_data): 接收单支球队数据,绘制该球队平均序列的起始/结束区域
批量绘制实现步骤
- 创建画布与子图布局: 使用matplotlib的
plt.subplots()创建包含10个子图的网格,推荐采用2行5列的布局(兼顾美观与可读性) - 遍历球队数据: 循环处理每支球队的数据集,为每个子图依次调用核心绘制函数
- 统一样式与标注: 确保所有子图的场地样式一致,添加对应球队名称作为子图标题
示例代码片段
import matplotlib.pyplot as plt # 假设teams_data是包含10支球队数据的列表 teams_data = [team1_data, team2_data, ..., team10_data] # 创建2行5列的子图布局,设置合适的画布尺寸 fig, axes = plt.subplots(nrows=2, ncols=5, figsize=(20, 8)) axes = axes.flatten() # 扁平化数组方便遍历 for idx, (ax, team_data) in enumerate(zip(axes, teams_data)): # 指定子图对象绘制橄榄球场 draw_pitch_horizontal(ax=ax) # 在对应子图上绘制球队平均序列区域 plot_sequence_moyenne(team_data, ax=ax) # 设置子图标题 ax.set_title(f"球队{idx+1}平均序列分布") # 关闭坐标轴,聚焦场地可视化 ax.axis('off') plt.tight_layout() # 自动调整子图间距避免重叠 plt.show()
关键注意事项
- 确保
draw_pitch_horizontal和plot_sequence_moyenne函数支持接收ax参数,指定绘制的目标子图对象 - 若球队序列区域颜色区分需求,可给
plot_sequence_moyenne函数添加颜色参数,为每支球队分配独特配色 - 可通过调整
figsize参数适配不同的展示场景,保证图表清晰度
提示:批量绘制时,统一所有子图的场地比例和坐标轴范围是保证可视化一致性的核心
如果需要导出高清图片,可使用plt.savefig()函数,设置dpi=300参数提升分辨率
内容的提问来源于stack exchange,提问作者user15565396
相关产品推荐
相关产品推荐

