1.读取文件; 2.获得想要的数据内容:日期、最低温、最高温 3.绘制图形。 x轴:日期; y轴:温度变化。
def read_weather_file():
"""读取文件,提取内容"""
files = open("./weather/weather.json","r",encoding="utf-8")
weather_content = files.read()
# print("天气信息:",weather_content)
# print(type(weather_content))
files.close()
#把json数据转换成python类型
py_datas = json.loads(weather_content)
# print(py_data)
# print(type(py_data))
# 日期
date_datas = []
# 最低温
tem_down_datas = []
# 最高温
tem_up_datas = []
# 遍历
for element in py_datas:
# print(element)
date = element["name"]
# print(date)
date_datas.append(date)
tem_down_datas.append(int(element["tem_low"][:-1]))
tem_up_datas.append(int(element["tem_up"]))
# print(date_datas)
# print(tem_down_datas)
# print(tem_up_datas)
# print(type(tem_up_datas))
return date_datas,tem_up_datas,tem_down_datas
# 绘图
# 显示中文
pyplot.rcParams["font.sans-serif"] = ["SimHei"]
# X轴
x = [i for i in range(len(datas))]
print(x)
# 绘制
pyplot.plot(x,tem_down,label="最低温")
pyplot.plot(x,tem_up,label="最高温")
# 限制Y轴的最大最小值
pyplot.ylim(20,40)
# Y刻度
y_tick = [i for i in range(20,40)]
pyplot.yticks(y_tick)
# X轴
pyplot.xticks(x,datas,rotation=45)
# 图例
pyplot.legend(loc="lower left")
# 网格
pyplot.grid(alpha=0.4)
# 标题
pyplot.title("湛江一周天气预报最高最低温情况图")
pyplot.ylabel("温度(单位:℃)")
pyplot.xlabel("时间日期")
pyplot.show()