如何在Matplotlib中绘制字典内英格兰球队的指定数据?
只绘制英格兰球队数据的柱状图解决方案
嘿,很简单就能实现你的需求!核心思路是先从你的字典中筛选出英格兰球队的对应数据,再用筛选后的数据集来绘图,而不是直接用全部的teams数据。下面一步步来:
步骤1:提取英格兰球队列表
首先从leagues字典里拿到属于英格兰联赛的球队名单:
english_teams = leagues['England']
步骤2:筛选对应球队的得分数据
用字典推导式从teams里挑出英格兰球队的键值对:
english_teams_data = {team: points for team, points in teams.items() if team in english_teams}
这一步会生成只包含曼联、利物浦、阿森纳及其得分的新字典。
步骤3:用筛选后的数据绘制柱状图
把你原来的绘图代码换成用新的数据集,还可以给图表加上标题和标签让它更易读:
import matplotlib.pyplot as plt # 你的原始字典数据 teams={'Manchester United':50, 'Liverpool': 70, 'Barcelona': 100, 'Real Madrid':90, 'Arsenal':30, 'Atletico':50} leagues={'England':['Manchester United', 'Liverpool', 'Arsenal'], 'Spain':['Barcelona', 'Real Madrid', 'Atletico']} # 筛选英格兰球队数据 english_teams = leagues['England'] english_teams_data = {team: points for team, points in teams.items() if team in english_teams} # 绘制柱状图 plt.bar(*zip(*english_teams_data.items())) plt.title('英格兰球队得分情况') plt.xlabel('球队名称') plt.ylabel('得分') plt.show()
这样运行后,图表就只会显示你想要的三支英格兰球队的数据啦!
内容的提问来源于stack exchange,提问作者Glen Veigas
相关产品推荐
相关产品推荐

