根据头歌平台提示,使用数据“hot-dog-contest-winners.csv”: ① 绘制一张不同年份冠军吃掉热狗数量的柱形图; ② 绘制柱形图,并突出美国人获胜的年份。其中美国人获胜的年份显示为粉红色(#DB7093),其余年份显示为灰绿色(#5F9F9F),画布大小等设置与上文保持一致。
时间: 2024-03-26 17:34:19 浏览: 25
好的,以下是代码实现:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('hot-dog-contest-winners.csv')
# ① 绘制一张不同年份冠军吃掉热狗数量的柱形图
df.plot(kind='bar', x='Year', y='Dogs eaten')
# ② 绘制柱形图,并突出美国人获胜的年份
colors = ['#5F9F9F'] * len(df) # 初始化颜色列表,所有年份都为灰绿色
us_mask = df['Nationality'] == 'USA' # 美国人获胜的年份掩码
colors[us_mask] = '#DB7093' # 将美国人获胜的年份颜色设置为粉红色
df.plot(kind='bar', x='Year', y='Dogs eaten', color=colors)
# 设置图形标题和坐标轴标签
plt.title('Hot Dog Eating Contest Winners')
plt.xlabel('Year')
plt.ylabel('Dogs Eaten')
# 显示图形
plt.show()
```
该代码首先读取名为“hot-dog-contest-winners.csv”的数据文件,并使用plot方法绘制了不同年份冠军吃掉热狗数量的柱形图。然后,代码根据美国人获胜的年份将颜色列表中的相应条目设置为粉红色,并使用新的颜色列表重新绘制柱形图。最后,代码设置了标题和坐标轴标签,并使用show方法显示图形。