Python学习记录 - matplotlib绘制温度变化折线图

题目:列表a表示10点到12点每一分钟的气温,累计为2个小时,绘制折线图观察每分钟气温的变化

查看数据,并绘制初步图形

#-*- coding: utf-8 -*-
from matplotlib  import pyplot as plt
import random

数据:
X轴:从10点到12点按照分钟查看,有120分钟,X轴需要为:0-120
Y轴:需要展示每一分钟的温度,使用random获取正常温度范围内的数据,取值个数与X轴的点数一致

x = range(0,120)  #每一分钟
y = [random.randint(20,35) for i in range(120)]  #取120个在20-35之间的数值表示温度
#使用random,需要导入random模块
plt.plot(x,y)  #绘制图形查看结果

在这里插入图片描述

1. 调整图片大小和清晰度,同时调整X轴的刻度,要求间隔为10mins

fig = plt.figure(figsize=(20,10),dpi=80) #figsize调整图片大小,dpi调整清晰度
plt.xticks(range(0,130,10))  #-->最小值为0,最大值为120,限定间隔10,对应range的最大值为120+10=130
plt.plot(x,y)

在这里插入图片描述

2. 要求X轴显示为 XX时XX分钟,不再单独显示为1-120分钟,依旧间隔10Mins

_x = list(x)[::10]  # -->取步长,数字和字符串一一对应,数据的长度一样
_xtick_labels=["10点{}分".format(i) for i in range(60)] 
_xtick_labels +=["11点{}分".format(i) for i in range(60)] 
#新建列表_xtick_labels,将X轴的序列存放在在列表中
plt.xticks(_x,_xtick_labels[::10])  #将X的取值与xtick_label设定的列表值一一对应,否则不能显示数据
plt.plot(x,y)

在这里插入图片描述

3. 调整X轴的中文字体,设定为微软雅黑,并适当旋转X轴文字

from matplotlib import font_manager #需要导入font_manager,进行字体设定
my_font = font_manager.FontProperties(fname = "\Windows\Fonts\msyhl.ttc")
plt.xticks(list(x)[::10],_xtick_labels[::10], rotation= 75,fontproperties=my_font)
#rotation - 设定文字旋转的角度
#将X轴的字体属性重新调整为设定的字体
plt.plot(x,y)

在这里插入图片描述

tips: 对应字体的位置,可以在C盘,windows - Fonts文件夹下方查看

4. 对应为X轴和Y轴提供名称,以及图表的名称,专门调整标题的字体加粗

plt.xlabel('时间',fontproperties=my_font)
plt.ylabel('温度 单位:℃',fontproperties=my_font)
plt.title('10点-12点每分钟气温变化情况',fontproperties=font_manager.FontProperties(fname = "\Windows\Fonts\msyhbd.ttc"))
plt.plot(x,y)

在这里插入图片描述

5. 在图表的背景添加网格线,并调整网格线格式(透明度)

plt.grid(alpha = 0.1)
plt.plot(x,y)

在这里插入图片描述

  1. 将以上温度数据作为上海,新增温度序列,体现北京的温度
y1 = [random.randint(20,35) for i in range(120)] 
plt.plot(x,y,label='上海',color='plum',linestyle=":")
plt.plot(x,y1,label = '北京',color='cyan',linestyle='--')
#color调整线条颜色,linestyle调整线条格式
plt.legend(prop=my_font) #调整图例的文字,注意为prop
#更多的颜色可以搜索颜色对应的名称或16进制下的数字进行设置

在这里插入图片描述

6. 保存绘制的图形,分别保存为png和svg格式

plt.savefig("./temp.png")
plt.savefig("./temp.svg")

总结(统统重要):
绘制折线图 plt.plot
设置了图片大小与分辨率 plt.figure
实现了图片的保存 plt.savefig
设置了X轴和Y轴的刻度与字符串 xticks
解决了刻度稀疏和密集的问题 xticks
设置了X轴和Y轴的标题 plt.xlabel(), plt.ylabel(), plt.title()
设置了字体 font_manager.FontProperties(fname="")
在一张图上绘制多个图形 plt.plot(x,y1), plt.plot(x,y2)
为不同的图形添加图例(加label参数,同时使用 legend)
设置不同图形的颜色,格式等

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值