在这段代码的基础上,以‘top10’和'top3'为数据创建一个柱状图
时间: 2024-03-05 14:51:15 浏览: 112
可以使用matplotlib库中的pyplot模块绘制柱状图。以下是修改后的代码:
```
import pandas as pd
import matplotlib.pyplot as plt
# 数据预处理
data = pd.read_csv('icpc-full.csv')
data = data.drop(['Date','Host','City','Venue','Team','Contestant 1','Contestant 2','Contestant 3','Score','Total'],axis = 1)
# 排名前15
topteam = data[data['Rank'] < 10 ]
cpteam = topteam[data['Rank'] <3]
# 计数
winner = cpteam['University'].value_counts().to_dict()
top10 = dict(sorted(topteam['University'].value_counts().items(), key=lambda x: x[1], reverse=True)[:10])
top3 = dict(sorted(winner.items(), key=lambda x: x[1], reverse=True)[:3])
# 绘制柱状图
plt.bar(range(len(top10)), list(top10.values()), align='center')
plt.xticks(range(len(top10)), list(top10.keys()))
plt.title('Top 10 universities')
plt.show()
plt.bar(range(len(top3)), list(top3.values()), align='center')
plt.xticks(range(len(top3)), list(top3.keys()))
plt.title('Top 3 universities')
plt.show()
```
这段代码会分别绘制排名前10和前3的大学的柱状图,并显示在屏幕上。其中plt.bar()函数用于绘制柱状图,第一个参数是x轴的位置,第二个参数是y轴的高度,align参数指定对齐方式,xticks()函数用于设置x轴的标签。
阅读全文