【Matlab】雷達圖/蛛網圖

文章目錄

  • 一、簡介
  • 二、安裝
  • 三、示例
  • 四、所有參數說明

一、簡介

雷達圖(Radar Chart)又稱蛛網圖(Spider Chart)是一種常見的多維數據可視化手段,能夠直觀地對比多個指標并揭示其整體分布特征。

雷達圖以中心點為原點,依次向外延伸出 n n n 條放射狀軸,每條軸對應一個維度指標。若有數據點 x 1 , x 2 , … , x n {x_1, x_2, \dots, x_n} x1?,x2?,,xn?,則在第 i i i 條軸上,按量值 x i x_i xi? 的大小標定距離,將各點連線后即得到一個封閉的多邊形——類似雷達掃描回波或昆蟲蛛網的形態。

  • 軸的均勻分布:第 i i i 條軸相對于水平線的角度可設為
    θ i = 2 π ( i ? 1 ) n , i = 1 , 2 , … , n . \theta_i = \frac{2\pi (i-1)}{n},\quad i=1,2,\dots,n. θi?=n2π(i?1)?,i=1,2,,n.
  • 數據標度:各軸通常需先將原始值歸一化為 [ 0 , 1 ] [0,1] [0,1] 區間(這個也不是一定的,不同的軸也可以使用不同的量綱,不過需要標注一下),記歸一化后數據為 x ~ i \tilde x_i x~i?,再映射到同一半徑范圍。

二、安裝

這個用極坐標就可以畫,但是要得到一個功能強大、樣式豐富的圖,比較麻煩,直接用其他人開發的工具箱吧。

去附加功能管理器搜索radar(清空過濾條件),即可看到這個:不是Radar Toolbox,那個是真的雷達工具箱。
在這里插入圖片描述
也可以去File Exchange下載:不過截至現在,mathworks的這個網頁還沒修復,下不了(都一個多星期了還沒搞好😅)。

這個不是App,只是個工具箱,即幾份代碼文件,下載后默認保存在你的C盤某個位置,默認會添加到路徑。
在這里插入圖片描述

在這里插入圖片描述
這個文件夾你可以直接復制到別的地方,或者分享給他人。

三、示例

生成一個示例數據:5行,10列,即5個樣本,每個10個指標(比如5個城市的10個指標)。

% 生成 5×10 的隨機示例數據(0–10 之間)
rng(1);  
data_matrix = rand(5,10) * 10;

畫圖:

spider_plot(data_matrix);

在這里插入圖片描述

這就是默認的繪圖風格。

圖中所有的內容都可以自定義:數據標注、標簽、數據線型、射線、網狀線(web)等內容都可以設置。

下面做一個復雜一點的示例:完整參數見文末。
在這里插入圖片描述

close all
clear
clc%% —— 示例數據生成 —— 
% 生成 5×10 的隨機示例數據(0–10 之間)
rng(1);  
data_matrix = rand(5,10) * 10;%% —— 雷達圖繪制 —— % 英文標簽
labels = {'V1','V2','V3','V4','V5','V6','V7','V8','V9','V10'};% 配色:五種清晰可區分的顏色
colors = ["#1f77b4", "#ff7f0e", "#2ca02c", "#d62728", "#9467bd"];rgb_color = zeros(length(colors), 3);
for i = 1:length(colors)rgb_color(i,:) = sscanf(colors(i), '#%2x%2x%2x', [1 3]) / 255;
endline_styles = {'-','--',':','-.','-'};
markers     = {'o','s','^','d','v'};
legend_str  = {'A','B','C','D','E'}';% 新建 figure 并設置字體、大小
f = figure('Color','white','Units','inches','Position',[3 3 8 7]);
set(f, ...'DefaultAxesFontName','Times New Roman', ...'DefaultTextFontName','Times New Roman', ...'DefaultAxesFontSize',12, ...'DefaultTextFontSize',12);% 調用 spider_plot
h_spider = spider_plot(data_matrix, ...'AxesLabels',        labels, ...'AxesDisplay',       'all', ...'FillOption',        'on', ...'FillTransparency',  0.25, ...'Color',             rgb_color, ...'LineStyle',         line_styles, ...'Marker',            markers, ...'MarkerSize',        10, ...'LineWidth',         1.1, ...'AxesRadial',        'on', ...'AxesLabelsRotate',  'off', ...'AxesInterval',      2, ...'AxesPrecision',     2, ...'AxesLabelsOffset',  0.15, ...'AxesColor',         'b', ...'AxesFont',          'Times New Roman', ...'LabelFont',         'simsun', ...'BackgroundColor',   'w', ...'AxesRadialLineStyle',':', ...'AxesRadialLineWidth',1, ...'AxesLabelsEdge',    '#8B8386', ...'AxesWebLineStyle',  '--', ...'AxesFontColor',     'k');% 添加圖例
legend(legend_str, ...'Location','south', ...'Orientation','horizontal', ...'FontSize',12, ...'FontName','Times New Roman', ...'Position',[0.3750 0.1106 0.2865 0.0214]);% 保存高分辨率圖片
% exportgraphics(gcf, 'radar_plot.png', 'Resolution', 600);

四、所有參數說明

Argument NameDescriptionDefault ValuePossible Values
AxesLabels指定每個軸的標簽。auto-generatedauto-generated , cell array of strings, 'none'
AxesInterval更改 web 之間顯示的間隔數。3integer
AxesPrecision更改軸上顯示值的精度級別。1integer, vector
AxesDisplay更改顯示軸文本的軸數。'all''all', 'none', 'one', 'data', 'data-percent'
AxesLimits手動設置軸限制。auto-scaledmatrix (2 x size(P, 2)), auto-scaled
FillOption切換填充顏色選項。'off''off', 'on', cell array of character vectors
FillTransparency設置填充顏色透明度。0.1scalar in range (0, 1), vector
Color指定線條顏色,以 RGB 三元組形式指定。MATLAB colorsRGB triplet
LineStyle更改繪圖的線條樣式。'-''-', '--', ':', '-.', 'none', cell array of character vectors
LineWidth更改線寬,其中 1 point 為 1/72 英寸。0.5positive value, vector
LineTransparency設置線條顏色透明度。1scalar in range (0, 1), vector
Marker更改繪圖的標記符號。'o''o', '*', 's', 'd', '+', '.', 'x', '^', 'v', 'h', 'none', cell array of character vectors
MarkerSize更改標記大小,其中 1 point 為 1/72 英寸。36positive value, vector
MarkerTransparency設置標記顏色透明度。1scalar in range (0, 1), vector
AxesFont更改軸上顯示的值的字體類型。'Helvetica'supported font name
LabelFont更改標簽的字體類型。'Helvetica'supported font name
AxesFontSize更改軸上顯示的值的字體大小。10scalar value greater than zero
AxesFontColor更改軸上顯示的值的字體顏色。'black'RGB triplet
LabelFontSize更改標簽的字體大小。10scalar value greater than zero
Direction更改繪制的數據和軸標簽的旋轉方向。'clockwise''clockwise', 'counterclockwise'
AxesDirection更改軸的方向。'normal''normal', 'reverse', cell array of character vectors
AxesLabelsOffset調整軸標簽的位置偏移。0.2positive value
AxesDataOffsetAxesDisplay 設置為 'data' 時,調整數據標簽的位置偏移。0.1positive value
AxesScaling更改軸的縮放。'linear''linear', 'log', cell array of character vectors
AxesColor更改 spider 軸的顏色。'grey'RGB triplet, hexadecimal color code
AxesLabelsEdge更改軸標簽的邊緣顏色。'black'RGB triplet, hexadecimal color code, 'none'
AxesOffset更改軸與原點的偏移。1any integer less than the axes interval
AxesZoom更改軸的縮放。0.7scalar in range (0, 1)
AxesHorzAlign更改軸刻度標簽的水平對齊方式。'center''center', 'left', 'right', 'quadrant'
AxesVertAlign更改軸刻度標簽的垂直對齊方式。'middle''middle', 'top', 'cap', 'bottom', 'baseline', 'quadrant'
PlotVisible更改繪制的線條和標記的可見性。'on''on', 'off'
AxesTickLabels更改軸刻度標簽。'data'cell array of character vectors
AxesInterpreter更改軸標簽和軸刻度標簽的文本解釋器。'tex''tex', 'latex', 'none', cell array of character vectors
BackgroundColor更改背景顏色。'white'RGB triplet, hexadecimal color code, 'r', 'g', 'b', …
MinorGrid切換次要網格。'off''off', 'on'
MinorGridInterval更改主要網格線之間的次要網格線數量。2integer value greater than zero
AxesZero在值零處添加參考軸。'off''off', 'on'
AxesZeroColor更改零參考軸的顏色。'black'RGB triplet, hexadecimal color code, 'r', 'g', 'b', …
AxesZeroWidth更改零參考軸的線寬。2positive value
AxesRadial切換徑向軸。'on''on', 'off'
AxesWeb切換 web 軸。'on''on', 'off'
AxesShaded切換軸周圍的陰影區域。'off''off', 'on'
AxesShadedLimits設置陰影區域的限制。AxesLimitscell array (matrix of 2 x size(P, 2))
AxesShadedColor更改陰影區域的顏色。'green'RGB triplet, hexadecimal color code, 'r', 'g', 'b', cell array
AxesShadedTransparency設置陰影區域透明度。0.2vector in range (0, 1)
AxesLabelsRotate旋轉軸標簽以與軸對齊。'off''off', 'on'
AxesHandle指定要在其中繪圖的軸。new axesAxes object
ErrorBars使用 +/- 標準差端點切換誤差條模式。'off''off', 'on'
AxesWebType設置繪制的 web 類型。'web''web', 'circular'
AxesTickFormat格式化軸刻度文本。 覆蓋 AxesPrecision 值。'%.2f'cell array of character vectors
FillCData當填充選項設置為 'interp' 時,設置填充顏色。emptyvector
ErrorPositive'ErrorBars' 設置為 'on' 時,設置正方向的誤差條長度。emptyvector
ErrorNegative'ErrorBars' 設置為 'on' 時,設置負方向的誤差條長度。emptyvector
AxesStart設置軸的初始起點。 指定一個介于 [0, 2pi] 之間的值。pi/2scalar
AxesRadialLineWidth設置徑向軸的線寬。1.5scalar
AxesRadialLineStyle設置徑向軸的線條樣式。'-''-', '--', ':', '-.', 'none', cell array of character vectors
AxesWebLineWidth設置軸 web 的線寬。1scalar
AxesWebLineStyle設置軸 web 的線條樣式。'-''-', '--', ':', '-.', 'none', cell array of character vectors
LegendLabels添加圖例標簽。 (僅 spider_plot_class 屬性)N/A (類屬性)cell array of character vectors
LegendHandle自定義圖例設置。 (僅 spider_plot_class 屬性)N/A (類屬性)legend handle object
TiledLayoutHandle自定義分塊布局設置。 (僅 spider_plot_class 屬性)N/A (類屬性)tiled chart layout handle object
TiledLegendHandle自定義分塊圖例設置。 (僅 spider_plot_class 屬性)N/A (類屬性)legend handle object of tiled layout
NextTileIter使用連續分塊圖進行迭代。 (僅 spider_plot_class 屬性)1N/A

Notes:

  • “N/A” 在 Default Value 列中表示該屬性僅適用于 spider_plot_class,而不是作為 Name-Value Pair 參數直接傳遞給函數。
  • RGB triplet 指的是 [R, G, B] 的一個數組,其中 R, G, B 分別代表紅色,綠色,藍色的強度,取值范圍為 [0, 1]。
  • hexadecimal color code 指的是以 # 開頭的十六進制顏色碼,例如 #FF0000 代表紅色。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/82254.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/82254.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/82254.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue3實現輪播表(表格滾動)

在這之前,寫過一篇Vue2實現該效果的博文:vue-seamless-scroll(一個簡單的基于vue.js的無縫滾動) 有興趣也可以去看下,這篇是用vue3實現,其實很簡單,目的是方便后面用到直接復制既可以了。 安裝: <

安卓開發用到的設計模式(1)創建型模式

安卓開發用到的設計模式&#xff08;1&#xff09;創建型模式 文章目錄 安卓開發用到的設計模式&#xff08;1&#xff09;創建型模式1. 單例模式&#xff08;Singleton Pattern&#xff09;2. 工廠模式&#xff08;Factory Pattern&#xff09;3. 抽象工廠模式&#xff08;Abs…

后端開發概念

1. 后端開發概念解析 1.1. 什么是服務器&#xff0c;后端服務 1.1.1. 服務器 服務器是一種提供服務的計算機系統&#xff0c;它可以接收、處理和響應來自其他計算機系統&#xff08;客戶端&#xff09;的請求。服務器主要用于存儲、處理和傳輸數據&#xff0c;以便客戶端可以…

Spring AI 源碼解析:Tool Calling鏈路調用流程及示例

Tool工具允許模型與一組API或工具進行交互&#xff0c;增強模型功能&#xff0c;主要用于&#xff1a; 信息檢索&#xff1a;從外部數據源檢索信息&#xff0c;如數據庫、Web服務、文件系統或Web搜索引擎等 采取行動&#xff1a;可用于在軟件系統中執行特定操作&#xff0c;如…

Spyglass:跨時鐘域同步(長延遲信號)

相關閱讀 Spyglasshttps://blog.csdn.net/weixin_45791458/category_12828934.html?spm1001.2014.3001.5482 簡介 長延遲信號方案用于控制或數據信號跨時鐘域同步&#xff0c;該方案將使用quasi_static約束的跨時鐘域信號視為已同步&#xff0c;如圖1所示。 // test.sgdc q…

Linux云計算訓練營筆記day13【CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM】

Linux云計算訓練營筆記day13[CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM]] 目錄 Linux云計算訓練營筆記day13[CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM]]1.find練習2.vim高級使用2.1 命令模式:2.2 插入模式:2.3 末行模式: 3. vimdiff4. ping5.…

網絡流量分析工具ntopng的安裝與基本使用

網絡流量分析工具ntopng的安裝與基本使用 一、ntopng基本介紹1.1 ntopng簡介1.2 主要特點1.3 使用場景 二、本地環境介紹2.1 本地環境規劃2.2 本次實踐介紹 三、安裝ntopng工具3.1 官網地址3.2 配置軟件源3.3 添加軟件源3.4 安裝ntopng 四、ntopng的基本配置4.1 修改配置文件4.…

數據的獲取與讀取篇---常見的數據格式JSON

文件格式 假如你有一份想分析的數據文件,獲得文件后下一步就是用代碼讀取它。不同的文件格式有不同的讀取方法。所以讀取前了解文件格式也很重要。你可能見過非常多的文件格式,例如TXT、MP3、PDF、JPEG等等。 一般可以通過文件的后綴來分辨文件的格式,例如TXT格式,一般保存…

人工智能發展

探秘人工智能領域的熱門編程語言與關鍵知識 在當今科技飛速發展的時代&#xff0c;人工智能已滲透到生活的各個角落&#xff0c;從智能語音助手到精準的推薦系統&#xff0c;從自動駕駛汽車到醫療影像診斷&#xff0c;人工智能正以前所未有的速度改變著世界。而在這背后&#x…

超全GPT-4o 風格提示詞案例,持續更新中,附使用方式

本文匯集了各類4o風格提示詞的精選案例&#xff0c;從基礎指令到復雜任務&#xff0c;從創意寫作到專業領域&#xff0c;為您提供全方位的參考和靈感。我們將持續更新這份案例集&#xff0c;確保您始終能夠獲取最新、最有效的提示詞技巧。 讓我們一起探索如何通過精心設計的提…

Vue3響應式數據: 深入分析Ref與Reactive

Vue3響應式數據: 深入分析Ref與Reactive 介紹 作為一個流行的前端框架&#xff0c;其響應式數據系統是其核心特性之一。在Vue3中&#xff0c;我們可以使用Ref和Reactive兩種方式來創建響應式數據。本文將深入分析Ref與Reactive&#xff0c;幫助讀者更好地理解Vue3的響應式數據系…

云計算,大數據,人工智能

1. 云計算&#xff1a;彈性資源與分布式計算 案例&#xff1a;基于AWS EC2的動態資源擴展 場景&#xff1a;電商網站在“雙十一”期間流量激增&#xff0c;需要臨時擴容服務器資源。 代碼&#xff1a;使用AWS Boto3庫動態啟動EC2實例 import boto3# 創建EC2客戶端 ec2 boto…

Linux(7)——進程(概念篇)

一、基本概念 書本上的概念&#xff1a;程序的一個執行實例&#xff0c;正在執行的程序等 基于內核的觀點&#xff1a;擔當分配系統資源(CPU時間&#xff0c;內存)的實體。 我們知道&#xff0c;我們在寫代碼的時候&#xff0c;你的代碼進行編譯鏈接后生成可執行文件&#xff…

【Harmony】【鴻蒙】List列表View如何刷新內部的自定義View的某一個控件

創建自定義View Component export struct TestView{State leftIcon?:Resource $r(app.media.leftIcon)State leftText?:Resource | string $r(app.string.leftText)State rightText?:Resource | string $r(app.string.rightText)State rightIcon?:Resource $r(app.med…

Docker安裝MySQL集群(主從復制)

為確保生產環境中的數據安全與可靠性&#xff0c;數據庫普遍采用主從集群架構&#xff08;一主一從&#xff09;進行部署。本文將系統闡述如何利用Docker鏡像實現數據庫集群的容器化部署&#xff0c;并完整記錄各配置環節的具體實現步驟。 一、主服務實例創建&#xff08;可以…

開篇:MCP理論理解和學習

文章目錄 零 參考資料一 MCP概念二 MCP核心架構和功能三 MCP VS OP(Others Protocol)3.1 函數調用3.2 模型上下文協議3.3 MCP VS Others Protocol3.3.1 MCP與Function Calling的對比優勢3.3.2 MCP與AI Agents的協同關系3.3.3 MCP與A2A協議的互補性3.3.4 MCP與傳統API的技術革新…

產品經理面經(三)

目錄 為什么想做產品經理&#xff1f;為什么適合做產品經理&#xff1f; 解析 我的回答&#xff1a; 你覺得產品經理應該具備什么品質 解析 我的回答 想做什么方向的產品經理呢&你知道產品經理分為哪幾種嗎&#xff1f; 解題思路 為什么想做產品經理&#xff1f;為…

Vue3 Composition API: 企業級應用最佳實踐方案

在當前前端技術迅速發展的環境下&#xff0c;Vue3 Composition API 成為了關注的焦點。它為開發人員提供了更加靈活和可維護的代碼結構&#xff0c;適用于構建大規模企業級應用。在本文中&#xff0c;我們將探討Vue3 Composition API的最佳實踐方案&#xff0c;幫助開發人員更好…

CentOS大師班:企業級架構與云端融合實戰

一、高級存儲管理與災難恢復 1. LVM動態卷擴展實戰 pvcreate /dev/sdb1 # 創建物理卷 vgcreate vg_data /dev/sdb1 # 創建卷組 lvcreate -L 100G -n lv_www vg_data # 創建邏輯卷 mkfs.xfs /dev/vg_data/lv_www # 格式化 mount /dev/vg_da…

使用VGG-16模型來對海賊王中的角色進行圖像分類

動漫角色識別是計算機視覺的典型應用場景&#xff0c;可用于周邊商品分類、動畫制作輔助等。 這個案例是一個經典的深度學習應用&#xff0c;用于圖像分類任務&#xff0c;它使用了一個自定義的VGG-16模型來對《海賊王》中的七個角色進行分類&#xff0c;演示如何將經典CNN模型…