import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
# 假设df是已经加载好的DataFrame
df = pd.DataFrame({
'city': ['City1', 'City1', 'City1', 'City2', 'City2', 'City2'],
'year': [2010, 2011, 2012, 2010, 2011, 2012],
'avg_temperature': [20, 22, 25, 15, 18, 20],
'std_dev': [1, 1.5, 2, 0.5, 1, 1.2]
})
# 绘制带有误差线的折线图
g = sns.lineplot(data=df, x='year', y='avg_temperature', hue='city',
err_style='bars', err_kws={'elinewidth':2, 'capsize':0.2})
# 设置标题、坐标轴标签
g.set_title('Average Temperature in Different Cities over Years')
g.set_xlabel('Year')
g.set_ylabel('Average Temperature')
# 显示图例
plt.legend(title='City')
# 显示图形
plt.show()