折线图02[时间2020年2月]
书接上文
图形的优化主要是就是几个参数的设置。
01 修改颜色、粗细
#绘制图形 只需要修改对应的参数就可修改这些属性
plt.plot(x_ticks,y_temp_h,color='orange',lw = 2,linestyle = '-.',label = '最高温度')
02 添加另外一条线
#添加最低温度的线
plt.plot(x_ticks,y_temp_l,color='green',lw = 2,linestyle = '--',label = '最低温度')
03 添加图例
#添加图例
plt.legend(loc='upper right',prop=my_font)
04 保存图片
#保存图片
plt.savefig("./test.png")
完整代码
'''
Created on Feb 11, 2020
@author: sun
'''
#导入包
from getData import demo01 #爬取2345爬虫的包
from matplotlib import pyplot as plt
import numpy as np
from matplotlib import font_manager
#绘制北京是一周的天气情况
#实例话 FontProperties 字体路径,用fc-list查看
my_font=font_manager.FontProperties(fname="/System/Library/Fonts/PingFang.ttc")
#获取x轴 y轴的数据
x_ticks = np.arange(1,32)#因为1月份有31天,所以设置x轴有31个刻度,y轴数据一一对应
#最高温度
y_temp_h = demo01.getWeatherInfo('202001','54511','bWendu')[1]
y_temp_h = list(map(int,y_temp_h)) #正则后的数字带有引号,这里转换成数字
#最低温度
y_temp_l = demo01.getWeatherInfo('202001','54511','yWendu')[1]
y_temp_l = list(map(int,y_temp_l)) #正则后的数字带有引号,这里转换成数字
#设置图片大小
plt.figure(figsize=(20,10),dpi=80)
#绘制图形
plt.plot(x_ticks,y_temp_h,color='orange',lw = 2,linestyle = '-.',label = '最高温度')
plt.plot(x_ticks,y_temp_l,color='green',lw = 2,linestyle = '--',label = '最低温度')
#设置x轴展示
_x_ticks = ["01月{}日".format(i) for i in x_ticks]
plt.xticks(x_ticks,_x_ticks,rotation=-90,fontproperties=my_font) #两个数组要一对一
#设置y轴显示 因为range左闭右开,所以+1,保证取到数组所有的数
_y_ticks = ["{}℃".format(i) for i in range(min(y_temp_l),max(y_temp_h)+1)]
plt.yticks(range(min(y_temp_l),max(y_temp_h)+1),_y_ticks)
#添加注释
plt.xlabel("时间",fontproperties=my_font)
plt.ylabel("温度 单位(摄氏度 )",fontproperties=my_font)
plt.title("北京市2020年1月份最高温度",fontproperties=my_font)
#添加图例
plt.legend(loc='upper right',prop=my_font)
#保存图片
#plt.savefig("./test.png")
#展示图形
plt.show()
以上