Python学习记录 - matplotlib绘制温度变化散点图

问题:假设通过爬虫获取了北京2020年3月10月每天白天的最高气温,列表A和B,那么此时如何找出气温随时间(天)变化的规律

url = https://lishi.tianqi.com/beijing/202003.html (数据有一些调整)
a=[10,9,8,7,9,10,15,6,11,11,16,14,12,16,18,12,23,27,17,24,17,21,22,18,21,12,13,14,19]
b= [33,30,28,30,30,30,31,31,31,26,26,26,27,25,23,26,27,28,29,26,26,26,18,24,25,25,26,26,19,20]

# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname='\Windows\Fonts\msyhl.ttc')
#与绘制折线图一致,先导入pyplot和font_manager

1. 绘制散点图 - scatter()

y3 = [10,9,8,7,9,10,15,6,11,11,16,14,12,16,18,12,23,27,17,24,17,21,22,18,21,12,13,14,19,27,17]
y10 = [33,30,28,30,30,30,31,31,31,26,26,26,27,25,23,26,27,28,29,26,26,26,18,18,17,17,16,21,19,18,16]
#注意:x = range(1,32) 同时使用一条X轴会重叠数据,需要分别展示3月和10月的结果,设定两个X值
x_3 = range(1,32) #设定3月数据对应的X轴区间
x_10 = range(51,82) #设定10月数据对应的x轴区间
plt.figure(figsize=(20,8),dpi=80) #设定图像大小与清晰度
plt.scatter(x_3,y3,label='三月',color='plum') #直接设定颜色
plt.plot(x_10,y10,label='十月',color = 'navy') #直接设定颜色

在这里插入图片描述

以上图形中X轴,并没有将3月与10月的数据区分,直接是0-80对应的列表

2. 将点用折线链接

#可以添加折线图将点链接起来
plt.plot(x_3,y3,label='三月',color='plum')
plt.plot(x_10,y10,label='十月',color = 'navy')

在这里插入图片描述

3. 调整X轴:此时X轴从0开始到80,并没有体现出3月的日期和10月的日期

_x = list(x_3) + list(x_10) #将3月和10月的数结合
_xtick_labels = ['3月{}日'.format(i) for i in x_3] #添加字符串列表
_xtick_labels +=['10月{}日'.format(i-50) for i in x_10]
plt.xticks(_x[::3],_xtick_labels[::3],rotation = 75, fontproperties=my_font) #将列表数据与X轴字符串一一对应

在这里插入图片描述

4. 增加X轴,Y轴的轴坐标,图表标题,以及图例(注意位置参数)

#添加描述信息
plt.xlabel("日期",fontproperties=my_font)
plt.ylabel("温度,单位:℃",fontproperties=my_font)
plt.title("北京3月与10月的温度变化趋势",fontproperties=my_font)
plt.legend(loc = 2,prop=my_font)

在这里插入图片描述
总结:整体可以查看3月的温度逐渐增高,对应10月的温度逐渐降低。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值