Matlab交互編程——疫情數(shù)據(jù)的可視化
作為流行的商業(yè)數(shù)學(xué)軟件,MATLAB不僅可以作為離線數(shù)值分析的工具,更可以實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的爬取和地理數(shù)據(jù)的可視化。本期我們將以新冠疫情數(shù)據(jù)的可視化為例,帶領(lǐng)大家在 MATLAB 中下載線上數(shù)據(jù)并完成疫情地圖的繪制。
通過本案例,您將學(xué)會(huì):
? 如何更改 MATLAB App Designer的程序圖標(biāo)和Figure圖框的圖標(biāo);
? 如何在 App Designer 中創(chuàng)建有別于Waitbar的進(jìn)度條(uiprogressdlg);
? 如何使用 App Designer 下拉框;
? 如何使用 MATLAB 抓取網(wǎng)絡(luò)數(shù)據(jù);
? 如何使用 MATLAB 繪制數(shù)據(jù)地圖;
? 如何創(chuàng)建固定大小、固定位置、無標(biāo)題欄的 Figure 對(duì)話框;
? 如何在MATLAB中將13位時(shí)間戳轉(zhuǎn)化為中國標(biāo)準(zhǔn)時(shí)間;
? 如何批量執(zhí)行表達(dá)式 (eval 函數(shù));
? 如何將 App Designer 程序發(fā)布為獨(dú)立桌面 App;
? 如何使用包命名空間;
實(shí)現(xiàn)效果:
用到的函數(shù):
函數(shù)名 |
函數(shù)類型 |
重要性 |
功能 |
自定義函數(shù) |
獲取新冠疫情數(shù)據(jù) |
||
系統(tǒng)函數(shù) |
指定Web服務(wù)請(qǐng)求參數(shù) |
||
系統(tǒng)函數(shù) |
★★★★★ |
從Web讀取內(nèi)容 |
|
系統(tǒng)函數(shù) |
執(zhí)行Matlab表達(dá)式 |
||
系統(tǒng)函數(shù) |
對(duì)矩陣行或表進(jìn)行排序 |
||
系統(tǒng)函數(shù) |
將表寫入文件 |
||
系統(tǒng)函數(shù) |
基于文件創(chuàng)建表 |
||
系統(tǒng)函數(shù) |
確定數(shù)組是否為空 |
||
系統(tǒng)函數(shù) |
將元胞數(shù)組轉(zhuǎn)化為普通數(shù)組 |
||
系統(tǒng)函數(shù) |
創(chuàng)建表數(shù)組 |
||
自定義函數(shù) |
轉(zhuǎn)換 Unix 時(shí)間為中國標(biāo)準(zhǔn)時(shí)間 |
||
系統(tǒng)函數(shù) |
朝零四舍五入 |
||
系統(tǒng)函數(shù) |
將日期和時(shí)間轉(zhuǎn)化成字符串格式 |
||
系統(tǒng)函數(shù) |
將日期和時(shí)間轉(zhuǎn)化為日期序列值 |
||
自定義函數(shù) |
繪制新冠疫情分布數(shù)據(jù) |
||
系統(tǒng)函數(shù) |
★★★★★ |
以可視化方式呈現(xiàn)地理數(shù)據(jù) |
|
系統(tǒng)函數(shù) |
★★★ |
創(chuàng)建進(jìn)度對(duì)話框 |
|
系統(tǒng)函數(shù) |
★★★ |
創(chuàng)建圖窗窗口 |
|
setAppDesignerIcon |
自定義函數(shù) |
設(shè)置App Designer 窗口圖標(biāo) |
|
setFigureIcon |
自定義函數(shù) |
設(shè)置 Figure 窗口圖標(biāo) |
核心代碼:
data = webread(url, webread_option); % 調(diào)用 webread 下載并解析疫情數(shù)據(jù)
map = geobubble(canvas, data, 'latitude', 'longitude'); % 繪制疫情地圖
實(shí)現(xiàn)過程:
1. 打開App Designer,拖拽繪制下圖所示的控件:
控件名 |
控件類型 |
備注 |
DataTable |
表 |
用于顯示疫情數(shù)據(jù) |
Panel |
面板 |
用于繪制疫情地圖 |
DataSelect |
下拉框 |
選擇疫情數(shù)據(jù) |
ColorSelect |
下拉框 |
選擇繪圖顏色 |
PlotInPanel |
按鈕 |
在面板中繪制疫情地圖 |
PlotInPopupWindow |
按鈕 |
在彈窗中繪制疫情地圖 |
2. 設(shè)置公有屬性
屬性名 |
屬性類型 |
備注 |
CoronavirusData |
public |
用于保存疫情數(shù)據(jù)表 |
PlotPara |
public |
用于保存繪圖參數(shù) |
3. 添加Startup 回調(diào)

4. 創(chuàng)建私有函數(shù) getPlotPara, 用于設(shè)置繪圖參數(shù)
5. 創(chuàng)建下拉框 app.DataSelect和app.ColorSelect的回調(diào)函數(shù),每次下拉框值改變時(shí),更新繪圖參數(shù)。
6. 創(chuàng)建按鈕 app.PlotInPanel 回調(diào)函數(shù)

7. 創(chuàng)建按鈕 app.PlotInPopupWindows回調(diào)函數(shù)

8. 編寫 funs.getCoronavirusData函數(shù),獲取疫情數(shù)據(jù)

9. 編寫plotCoronavirusData函數(shù)

10. 保存并運(yùn)行。
11. 選擇設(shè)計(jì)器->共享->獨(dú)立桌面

12. 填寫程序信息,選擇程序圖標(biāo)和啟動(dòng)圖片;

13. 選擇程序運(yùn)行所需的data和figure文件夾;
14. 選擇 Package,封裝程序;
疫情數(shù)據(jù)來源:https://lab.isaaclin.cn/nCoV/
參考鏈接:https://zhuanlan.zhihu.com/p/30747143
MATLAB版本:2019a
付費(fèi)內(nèi)容包括程序源碼和知識(shí)點(diǎn)歸納。
以下內(nèi)容為付費(fèi)內(nèi)容,請(qǐng)購買后觀看
8人購買
程序源碼和知識(shí)點(diǎn)歸納。
工程師必備
- 項(xiàng)目客服
- 培訓(xùn)客服
- 平臺(tái)客服
TOP




















