300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > matlab 柱状图 折线图 数据可视化分析(柱状图 折线图 热力图)

matlab 柱状图 折线图 数据可视化分析(柱状图 折线图 热力图)

时间:2023-10-05 21:43:47

相关推荐

matlab 柱状图 折线图 数据可视化分析(柱状图 折线图 热力图)

一、项目简介

1.1 项目博客地址

1.2 项目完成的功能与特色

分析文件‘集美大学各省录取分数.xlsx’,完成以下功能:

1)集美大学-间不同省份在本一批的平均分数,柱状图展示排名前10的省份,

2)分析福建省这3年各批次成绩情况,使用折线图展示结果,并预测录取成绩

3)分析其他省份数据。用热力图,地图方式绘制所有省份数据情况。

1.3 项目采用的技术栈

Numpy:矩阵计算与其它大多数框架的数据处理基础;

Matplotlab:专业画图工具,话说这个单词还是真是在Matlab之间插入了plot这个词形成的;

Pandas:提供类似于R语言的DataFrame操作,非常方便;

百度地图API

热力图

1.3 项目借鉴源代码的地址

/p/c18dedc38b7b

1.4 团队成员任务分配表

二、项目的需求分析

对文件数据进行提取、分析

三、项目功能架构图、主要功能流程图

四、系统模块说明

4.1 系统模块列表

柱状图、折线图、热力图

4.2 各模块详细描述(名称,功能,运行截图,关键源代码)

4.2.1柱状图:集美大学-间不同省份在本一批的平均分数,展示排名前10的省份。

#绘图

plt.figure()

plt.bar(x=province_dict_keys,height=province_dict_values,alpha=0.8)for x,y inenumerate(province_dict_values):

plt.text(x, y,"%s" % y, ha="center", va="bottom")#设置标题

plt.title("排名前10的省份")#为两条坐标轴设置名称

plt.xlabel("省份")

plt.ylabel("平均分")#图片的显示及存储

log = datetime.datetime.now().strftime("%Y-%m-%d")#plt.savefig("./logging/%s_all_a.jpg" % log) #图片的存储#plt.close() #关闭matplotlib

4.2.2折线图:分析福建省这3年各批次成绩情况,使用折线图展示结果,并预测录取成绩

#折线图

plt.figure()

plt.plot(grade_year,grade,"ro-", color="#4169E1", alpha=0.8, label="提前批航海类(理工)")

plt.plot(grade_year,grade1,"ro-", color="#FFFA12", alpha=0.8, label="师范类(面向全省)(理工)")

plt.plot(grade_year,grade2,"ro-", color="#78FF1D", alpha=0.8, label="师范类(面向厦门)(理工)")

plt.plot(grade_year,grade3,"ro-", color="#1CFFB7", alpha=0.8, label="农村专项计划(理工)")

plt.plot(grade_year,grade4,"ro-", color="#1BE9FF", alpha=0.8, label="本一批(理工)")

plt.plot(grade_year,grade5,"ro-", color="#1F98FF", alpha=0.8, label="本一批(面向厦门)(理工)")

plt.plot(grade_year,grade6,"ro-", color="#2237FF", alpha=0.8, label="闽台合作(理工)")

plt.plot(grade_year,grade7,"ro-", color="#BA6BFF", alpha=0.8, label="预科批(理工)") #在当前绘图对象绘图(X轴,Y轴,蓝色虚线,线宽度)

for y in[grade,grade1,grade2,grade3,grade4,grade5,grade6,grade7]:for x,yy inzip(grade_year,y):

plt.text(x, yy+1,str(yy), ha="center", va="bottom", fontsize=7)

plt.xlabel("年份") #X轴标签

plt.ylabel("分数线") #Y轴标签

plt.title("福建省这3年理工各批次成绩情况") #标题

#plt.savefig("./logging/%s_all_b.jpg" % log) #图片的存储

#显示图示

plt.legend()

plt.show()

4.2.3热力图:分析其他省份数据。有精力同学可以研究热力图,地图方式绘制所有省份数据情况。

gr=batch("本一批","理工")

gr=sorted(gr.items(),key=lambda x:x[1],reverse=True)

file= open(r"../point.json","w") #建立json数据文件

point_pr(gr,file)#获取经纬度

defgetlnglat(address):

url= "http://api./geocoding/v3/"output= "json"ak= "8atpMUyuexdbuYFU838ejPvSPnWYZoks"add= quote(address) #由于本文城市变量为中文,为防止乱码,先用quote进行编码

uri= url + "?" + "address=" + add + "&output=" + output + "&ak=" +ak

req=urlopen(uri)

res= req.read().decode() #将其他编码的字符串解码成unicode

temp= json.loads(res) #对json数据进行解析

returntempdefpoint_pr(gr,file):#每个省份的经纬度

print(gr)for line ingr:#line是个list,取得所有需要的值

b= line[0] #将第一列city读取出来并清除不需要字符

if b == "西藏" or b == "":continuec= line[1]#将第二列price读取出来并清除不需要字符

lng= getlnglat(b)["result"]["location"]["lng"] #采用构造的函数来获取经度

lat= getlnglat(b)["result"]["location"]["lat"] #获取纬度

str_temp= "{"lat":" + str(lat) + ","lng":" + str(lng) + ","count":" + str(c) +"},"

#print(str_temp) #也可以通过打印出来,把数据copy到百度热力地图api的相应位置上

file.write(str_temp)#写入文档

file.close()

五、项目总结

5.1 特点

对集美大学近几年的录取分数进行分析,并生成图表

5.2 不足之处

整体不够美观

码云地址:/leaf28/university.git

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。