注:如需所用表格数据,可在本人主页资源栏内直接下载
制作折线图
探究:电脑价格趋势
新建方法
def line_chart():
读取表格
with open(r'笔记本信息.csv', encoding='gb18030'):
df = pd.read_csv("笔记本信息.csv", encoding='gb18030')
创建字典,用键值对储存月份及其对应的平均价格
average_price = {}
30个月,每月上市的电脑的平均价格
# 2019年
for i in range(1, 13):
time = float("2019."+str(i))
average_price[str(time)] = (df.where(df['上市时间'] == time).dropna()['参考报价'].mean())
# 2020年
for i in range(1, 13):
time = float("2020." + str(i))
average_price[str(time)] = (df.where(df['上市时间'] == time).dropna()['参考报价'].mean())
# 2021年
for i in range(1, 7):
time = float("2021." + str(i))
average_price[str(time)] = (df.where(df['上市时间'] == time).dropna()['参考报价'].mean())
作图
plt.figure(figsize=(18, 12), dpi=300)
plt.style.use('ggplot')
x_data = average_price.keys()
y_data = average_price.values()
# 横坐标太过稠密影响查看,修改间隔
plt.gca().xaxis.set_major_locator(ticker.MultipleLocator(5))
plt.plot(x_data, y_data, color='red', linewidth=10, linestyle='-')
plt.title("电脑价格变化折线图", fontdict={'fontsize': 40})
plt.xlabel("时间", fontdict={'fontsize': 30})
plt.ylabel("平均报价", fontdict={'fontsize': 30})
plt.xticks(fontsize=25)
plt.yticks(fontsize=25)
plt.savefig('电脑价格变化折线图.png', dpi=300)
plt.show()