合并成同一个颜色不同的图
时间: 2024-03-05 09:51:16 浏览: 15
可以在绘制柱状图时添加不同的颜色,并将两个柱状图合并到同一个图表中。以下是修改后的代码:
```
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])
# 绘制柱状图
fig, ax = plt.subplots(figsize=(10, 6))
ax.bar(range(len(top10)), list(top10.values()), align='center', color='blue', label='Top 10 universities')
ax.bar(range(len(top3)), list(top3.values()), align='center', color='red', label='Top 3 universities')
ax.set_xticks(range(len(top10)))
ax.set_xticklabels(list(top10.keys()))
ax.legend()
plt.show()
```
这段代码使用了bar()函数绘制两个柱状图,并分别设置为蓝色和红色。设置了label参数为每个柱状图添加标签,最后使用legend()函数显示标签。