MST

星途 面试题库

面试题:Python Seaborn高级数据可视化定制

使用Seaborn绘制一个带有误差线的折线图,数据为多个城市不同年份的平均气温。数据存储在DataFrame `df` 中,列分别为 `city`(城市名), `year`(年份), `avg_temperature`(平均气温), `std_dev`(标准差,用于误差线)。要求每个城市的折线颜色不同,并且设置合适的标题、坐标轴标签和图例。请写出完整Python代码。
26.8万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
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()