首页 > 编程知识 正文

matplotlib 函数像,matplotlib绘制函数

时间:2023-05-04 13:17:32 阅读:218531 作者:1901

【python初体验】Matplotlib函数库绘图-电子系统导论实验报告 1930713XXXX 聂XX 技术科学试验班 一、实验目的:

熟悉Python的基本语法。

熟悉Matplotlib库函数绘制曲线的函数。

二、实验内容: 从网络渠道获取2月1日-2月29日期间全国新冠疫情每日新增确诊人数的数据,进行Python编程。用Matplotlib库函数绘制曲线(横轴为日期,纵轴为新增确认人数),并输出最大值及相应日期、最小值及相应日期、平均值和中位值。 三、实验过程记录:

下载2月份全国每日新增确诊人数数据。数据来源:臻图2019-nCoV历史数据

将2月份每日新增确诊人数按日期顺序输入到一个txt文件里:data.txt

编写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 = 0i = 0pairs = []for dat in y: y[i] = int(y[i]) Sum += y[i] pairs.append( (y[i],i+1) ) i+=1 pairs.sort()

查看运行结果:

至此已经实现实验内容,下面贴出全部代码(export.py ):

# -*- coding: UTF-8 -*-# George_Ploverimport numpy as npimport matplotlib.pyplot as pltprint("请输入2月1日到2月29日期间中国新冠疫情每日新增确诊人数:")print("(29个整数,用空格隔开)")y = input().split()x = np.arange('2020-02-01','2020-03-01',dtype=np.datetime64)Days = 29 Sum = 0i = 0pairs = []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库部分绘图函数。

​ 然而还有值得改进的地方,比如,图片的右下角出现了日期的重合,可以进一步了解原因,尝试去除掉重合的多余日期。另外,此程序还可以改进,以做到自动从官方网站爬取数据生成图像,并且可以尝试制作图形化界面,增强交互体验。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。