【python初体验】Matplotlib函数库绘图-电⼦系统导论实验报告【python初体验】Matplotlib函数库绘图-电⼦系统导论实验报告
1930713XXXX 聂XX 技术科学试验班
⼀、实验⽬的:
熟悉Python的基本语法。
熟悉Matplotlib库函数绘制曲线的函数。
⼆、实验内容:
从⽹络渠道获取2⽉1⽇-2⽉29⽇期间全国新冠疫情每⽇新增确诊⼈数的数据,进⾏Python编程。⽤Matplotlib库函数绘制曲线(横轴为⽇期,纵轴为新增确认⼈数),并输出最⼤值及相应⽇期、最⼩值及相应⽇期、平均值和中位值。
三、实验过程记录:
1. 下载2⽉份全国每⽇新增确诊⼈数数据。数据来源:
将2⽉份每⽇新增确诊⼈数按⽇期顺序输⼊到⼀个txt⽂件⾥:
2. 编写Python程序,实现各功能。
输出提⽰语句,输⼊数据到y⾥⾯,形成⼀个list:
print("请输⼊2⽉1⽇到2⽉29⽇期间中国新冠疫情每⽇新增确诊⼈数:")
print("(29个整数,⽤空格隔开)")
y =input().split()
考虑到需要⽤Matplotlib函数作图,⽬前已经获得了y轴的数据(每⽇新增确诊⼈数),需要⽣成x轴对应的数据(对应⽇期):
x = np.arange('2020-02-01','2020-03-01',dtype=np.datetime64)
接下来就是绘图,使⽤title(),xlable()和ylable()函数设置⼀下图表标题和轴标。⽤plot()函数绘图,其中参数"-or"表⽰折线+圆点+红⾊,lable表⽰这组数据的标签,由于是全国的数据,标签为"China"。最后使⽤show()函数展⽰图⽚。
plt.title("Chart of the number of newly confirmed cases per day in February 2020")
plt.xlabel("Date")
plt.ylabel("Number of newly confirmed cases")
plt.plot(x,y,"-or",label="China")
plt.show()
查看绘图效果:
接下来完成数据最⼤最⼩值,以及中位置和平均值的处理。使⽤⼀个命名为pairs的list存储每天的数据⼆元组:(新增确诊⼈数 , ⽇期),使⽤sort()函数按照新增确诊⼈数为第⼀关键字升序排序,之后可以便捷的访问新增确诊⼈数最⼤、最⼩的⽇期的信息,并且可以直接到中位值。通过Sum变量累加⼈数总值,除以天数得到平均值,保留⼀位⼩数输出。
Days =29
Sum =0
i =0
python怎么读取dat文件pairs =[]
for dat in y:
y[i]=int(y[i])
Sum += y[i]
pairs.append((y[i],i+1))
i+=1
pairs.sort()
查看运⾏结果:
⾄此已经实现实验内容,下⾯贴出全部代码( ):
# -*- coding: UTF-8 -*-
# George_Plover
import numpy as np
import matplotlib.pyplot as plt
print("请输⼊2⽉1⽇到2⽉29⽇期间中国新冠疫情每⽇新增确诊⼈数:")
print("(29个整数,⽤空格隔开)")
y =input().split()
x = np.arange('2020-02-01','2020-03-01',dtype=np.datetime64)
Days =29
Sum =0
i =0
pairs =[]
for dat in y:
y[i]=int(y[i])
Sum += y[i]
pairs.append((y[i],i+1))
i+=1
pairs.sort()
print("新增确诊⼈数最少的⼀天是2⽉",pairs[0][1],"⽇新增确诊",pairs[0][0],"例。")
print("新增确诊⼈数最多的⼀天是2⽉",pairs[Days-1][1],"⽇新增确诊",pairs[Days-1][0],"例。")
print("2⽉每⽇新增确诊⼈数平均值为:",round(1.0*Sum/Days ,0),"⼈。")
print("2⽉每⽇新增确诊⼈数中位值为:",pairs[Days//2][0],"⼈")
plt.title("Chart of the number of newly confirmed cases per day in February 2020")
plt.xlabel("Date")
plt.ylabel("Number of newly confirmed cases")
plt.plot(x,y,"-or",label="China")
plt.show()
四、实验总结与思考:
本次试验成功熟悉了python的基本语法(输⼊输出语句,list,tuple等应⽤)。成功熟悉了Matplotlib库部分绘图函数。
然⽽还有值得改进的地⽅,⽐如,图⽚的右下⾓出现了⽇期的重合,可以进⼀步了解原因,尝试去除掉重合的多余⽇期。另外,此程序还可以改进,以做到⾃动从官⽅⽹站爬取数据⽣成图像,并且可以尝试制作图形化界⾯,增强交互体验。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论