文章目录

源代码

# 需求:再添加一个城市的温度变化

#导入工具
import matplotlib.pyplot as plt
import random

#创建画布
plt.figure(figsize=(20,8),dpi = 80)

#绘制图像,画出安徽省宣城市泾县11点到12点1小时内每分钟的温度变化折线图,
#温度范围在15度~18度(随机产生)
x = range(60)
y_jingxian = [random.uniform(15,18) for i in x]#列表生成式,uniform定义范围得到一个随机数
y_beijing = [random.uniform(3,8) for i in x]#列表生成式,uniform定义范围得到一个随机数

#绘制两个折线图
plt.plot(x,y_jingxian)
plt.plot(x,y_beijing)

plt.rcParams['font.family']=['SimHei']

#添加描述信息
plt.xlabel('时间',fontsize = 20)
plt.ylabel('温度',fontsize = 20)
plt.title('安徽省宣城市泾县对比北京市11点到12点1小时内每分钟的温度变化折线图',fontsize = 30)

# # 添加x坐标轴刻度
x_tick_label = ["11点{}分".format(i) for i in x]
plt.xticks(x[::5],x_tick_label[::5])# [::5]是每隔五个选一个,后面的也要对应上

# # 添加y坐标轴刻度
y_range = range(40)
plt.yticks(y_range[::5])#[::5]是每隔五个选一个

#添加网格线 linestyle线型 alpha透明度
plt.grid(True,linestyle = ':',alpha=0.8)

#添加图例 loc指定图例的位置
plt.legend(loc = 'best')

#保存图像
plt.savefig('./安徽省宣城市泾县对比北京市11点到12点1小时内每分钟的温度变化折线图.png')

#显示图像
plt.show()#如果不用show的话,只是在缓存中

报错

原因

他不知道图例的名字
要设置个参数
告诉他每个线的名字,
那就要画图的时候告诉名字
在plot的时候给一个label

解决

修改plt.plot的地方
改为:

# 需求:再添加一个城市的温度变化

#导入工具
import matplotlib.pyplot as plt
import random

#创建画布
plt.figure(figsize=(20,8),dpi = 80)

#绘制图像,画出安徽省宣城市泾县11点到12点1小时内每分钟的温度变化折线图,
#温度范围在15度~18度(随机产生)
x = range(60)
y_jingxian = [random.uniform(15,18) for i in x]#列表生成式,uniform定义范围得到一个随机数
y_beijing = [random.uniform(3,8) for i in x]#列表生成式,uniform定义范围得到一个随机数

#绘制两个折线图
plt.plot(x,y_jingxian,label = '泾县')
plt.plot(x,y_beijing,label = '北京')

plt.rcParams['font.family']=['SimHei']

#添加描述信息
plt.xlabel('时间',fontsize = 20)
plt.ylabel('温度',fontsize = 20)
plt.title('安徽省宣城市泾县对比北京市11点到12点1小时内每分钟的温度变化折线图',fontsize = 30)

# # 添加x坐标轴刻度
x_tick_label = ["11点{}分".format(i) for i in x]
plt.xticks(x[::5],x_tick_label[::5])# [::5]是每隔五个选一个,后面的也要对应上

# # 添加y坐标轴刻度
y_range = range(40)
plt.yticks(y_range[::5])#[::5]是每隔五个选一个

#添加网格线 linestyle线型 alpha透明度
plt.grid(True,linestyle = ':',alpha=0.8)

#添加图例 loc指定图例的位置
plt.legend(loc = 'best')

#保存图像
plt.savefig('./安徽省宣城市泾县对比北京市11点到12点1小时内每分钟的温度变化折线图.png')

#显示图像
plt.show()#如果不用show的话,只是在缓存中


成功添加图例