Matlab交互编程——疫情数据的可视化

作为流行的商业数学软件,MATLAB不仅可以作为离线数值分析的工具,更可以实现网络数据的爬取和地理数据的可视化。本期我们将以新冠疫情数据的可视化为例,带领大家在 MATLAB 中下载线上数据并完成疫情地图的绘制。

通过本案例,您将学会:

☑ 如何更改 MATLAB App Designer的程序图标和Figure图框的图标;

☑ 如何在 App Designer 中创建有别于Waitbar的进度条(uiprogressdlg);

☑ 如何使用 App Designer 下拉框;

☑ 如何使用 MATLAB 抓取网络数据;

☑ 如何使用 MATLAB 绘制数据地图;

☑ 如何创建固定大小、固定位置、无标题栏的 Figure 对话框;

☑ 如何在MATLAB中将13位时间戳转化为中国标准时间;

☑ 如何批量执行表达式 (eval 函数);

☑ 如何将 App Designer 程序发布为独立桌面 App;

☑ 如何使用包命名空间;



实现效果:

gui1.png

gui2.png

cmd.png

用到的函数:

函数名函数类型重要性功能
getCoronavirusData自定义函数获取新冠疫情数据
weboptions系统函数指定Web服务请求参数
webread系统函数★★★★★从Web读取内容
eval系统函数执行Matlab表达式
sortrows系统函数对矩阵行或表进行排序
writetable系统函数将表写入文件
readtable系统函数基于文件创建表
isempty系统函数确定数组是否为空
cell2mat系统函数将元胞数组转化为普通数组
table系统函数创建表数组
getStandardTime自定义函数转换 Unix 时间为中国标准时间
fix系统函数朝零四舍五入
datestr系统函数将日期和时间转化成字符串格式
datenum系统函数将日期和时间转化为日期序列值
plotCoronavirusData自定义函数绘制新冠疫情分布数据
geobubble系统函数★★★★★以可视化方式呈现地理数据
uiprogressdlg系统函数★★★创建进度对话框
figure系统函数★★★创建图窗窗口
setAppDesignerIcon自定义函数设置App Designer 窗口图标
setFigureIcon自定义函数设置 Figure 窗口图标

核心代码:

data = webread(url, webread_option);           % 调用 webread 下载并解析疫情数据

map = geobubble(canvas, data, 'latitude', 'longitude');    % 绘制疫情地图

实现过程:



1.     打开App Designer,拖拽绘制下图所示的控件:

gui3.jpg

控件名控件类型备注
DataTable用于显示疫情数据
Panel面板用于绘制疫情地图
DataSelect下拉框选择疫情数据
ColorSelect下拉框选择绘图颜色
PlotInPanel按钮在面板中绘制疫情地图
PlotInPopupWindow按钮在弹窗中绘制疫情地图



2.    设置公有属性

属性名属性类型备注
CoronavirusDatapublic用于保存疫情数据表
PlotParapublic用于保存绘图参数



3.    添加Startup 回调

a.png

b.png

4.     创建私有函数 getPlotPara, 用于设置绘图参数

c.png

5.    创建下拉框 app.DataSelect和app.ColorSelect的回调函数,每次下拉框值改变时,更新绘图参数。

d.png

6.     创建按钮 app.PlotInPanel 回调函数

e.png

7.     创建按钮 app.PlotInPopupWindows回调函数


f.png

8.     编写 funs.getCoronavirusData函数,获取疫情数据

g.png

9.     编写plotCoronavirusData函数

h.png

10.     保存并运行。

11.     选择设计器->共享->独立桌面

ccc.png

12.     填写程序信息,选择程序图标和启动图片;

22.png



13.     选择程序运行所需的data和figure文件夹;

33.png





免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空