【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 Name | Description | Default Value | Possible Values |
---|---|---|---|
AxesLabels | 指定每个轴的标签。 | auto-generated | auto-generated , cell array of strings, 'none' |
AxesInterval | 更改 web 之间显示的间隔数。 | 3 | integer |
AxesPrecision | 更改轴上显示值的精度级别。 | 1 | integer, vector |
AxesDisplay | 更改显示轴文本的轴数。 | 'all' | 'all' , 'none' , 'one' , 'data' , 'data-percent' |
AxesLimits | 手动设置轴限制。 | auto-scaled | matrix (2 x size(P, 2)), auto-scaled |
FillOption | 切换填充颜色选项。 | 'off' | 'off' , 'on' , cell array of character vectors |
FillTransparency | 设置填充颜色透明度。 | 0.1 | scalar in range (0, 1), vector |
Color | 指定线条颜色,以 RGB 三元组形式指定。 | MATLAB colors | RGB triplet |
LineStyle | 更改绘图的线条样式。 | '-' | '-' , '--' , ':' , '-.' , 'none' , cell array of character vectors |
LineWidth | 更改线宽,其中 1 point 为 1/72 英寸。 | 0.5 | positive value, vector |
LineTransparency | 设置线条颜色透明度。 | 1 | scalar in range (0, 1), vector |
Marker | 更改绘图的标记符号。 | 'o' | 'o' , '*' , 's' , 'd' , '+' , '.' , 'x' , '^' , 'v' , 'h' , 'none' , cell array of character vectors |
MarkerSize | 更改标记大小,其中 1 point 为 1/72 英寸。 | 36 | positive value, vector |
MarkerTransparency | 设置标记颜色透明度。 | 1 | scalar in range (0, 1), vector |
AxesFont | 更改轴上显示的值的字体类型。 | 'Helvetica' | supported font name |
LabelFont | 更改标签的字体类型。 | 'Helvetica' | supported font name |
AxesFontSize | 更改轴上显示的值的字体大小。 | 10 | scalar value greater than zero |
AxesFontColor | 更改轴上显示的值的字体颜色。 | 'black' | RGB triplet |
LabelFontSize | 更改标签的字体大小。 | 10 | scalar value greater than zero |
Direction | 更改绘制的数据和轴标签的旋转方向。 | 'clockwise' | 'clockwise' , 'counterclockwise' |
AxesDirection | 更改轴的方向。 | 'normal' | 'normal' , 'reverse' , cell array of character vectors |
AxesLabelsOffset | 调整轴标签的位置偏移。 | 0.2 | positive value |
AxesDataOffset | 当 AxesDisplay 设置为 'data' 时,调整数据标签的位置偏移。 | 0.1 | positive 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 | 更改轴与原点的偏移。 | 1 | any integer less than the axes interval |
AxesZoom | 更改轴的缩放。 | 0.7 | scalar 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 | 更改主要网格线之间的次要网格线数量。 | 2 | integer value greater than zero |
AxesZero | 在值零处添加参考轴。 | 'off' | 'off' , 'on' |
AxesZeroColor | 更改零参考轴的颜色。 | 'black' | RGB triplet, hexadecimal color code, 'r' , 'g' , 'b' , … |
AxesZeroWidth | 更改零参考轴的线宽。 | 2 | positive value |
AxesRadial | 切换径向轴。 | 'on' | 'on' , 'off' |
AxesWeb | 切换 web 轴。 | 'on' | 'on' , 'off' |
AxesShaded | 切换轴周围的阴影区域。 | 'off' | 'off' , 'on' |
AxesShadedLimits | 设置阴影区域的限制。 | AxesLimits | cell array (matrix of 2 x size(P, 2)) |
AxesShadedColor | 更改阴影区域的颜色。 | 'green' | RGB triplet, hexadecimal color code, 'r' , 'g' , 'b' , cell array |
AxesShadedTransparency | 设置阴影区域透明度。 | 0.2 | vector in range (0, 1) |
AxesLabelsRotate | 旋转轴标签以与轴对齐。 | 'off' | 'off' , 'on' |
AxesHandle | 指定要在其中绘图的轴。 | new axes | Axes object |
ErrorBars | 使用 +/- 标准差端点切换误差条模式。 | 'off' | 'off' , 'on' |
AxesWebType | 设置绘制的 web 类型。 | 'web' | 'web' , 'circular' |
AxesTickFormat | 格式化轴刻度文本。 覆盖 AxesPrecision 值。 | '%.2f' | cell array of character vectors |
FillCData | 当填充选项设置为 'interp' 时,设置填充颜色。 | empty | vector |
ErrorPositive | 当 'ErrorBars' 设置为 'on' 时,设置正方向的误差条长度。 | empty | vector |
ErrorNegative | 当 'ErrorBars' 设置为 'on' 时,设置负方向的误差条长度。 | empty | vector |
AxesStart | 设置轴的初始起点。 指定一个介于 [0, 2pi] 之间的值。 | pi/2 | scalar |
AxesRadialLineWidth | 设置径向轴的线宽。 | 1.5 | scalar |
AxesRadialLineStyle | 设置径向轴的线条样式。 | '-' | '-' , '--' , ':' , '-.' , 'none' , cell array of character vectors |
AxesWebLineWidth | 设置轴 web 的线宽。 | 1 | scalar |
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 属性) | 1 | N/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
代表红色。
相关文章:

【Matlab】雷达图/蛛网图
文章目录 一、简介二、安装三、示例四、所有参数说明 一、简介 雷达图(Radar Chart)又称蛛网图(Spider Chart)是一种常见的多维数据可视化手段,能够直观地对比多个指标并揭示其整体分布特征。 雷达图以中心点为原点&…...
【信息系统项目管理师】第24章:法律法规与标准规范 - 27个经典题目及详解
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 【第1题】【第2题】【第3题】【第4题】【第5题】【第6题】【第7题】【第8题】【第9题】【第10题】【第11题】【第12题】【第13题】【第14题】【第15题】【第16题】【第17题】【第18题】【第19题】【第20题】【第…...

使用JProfiler进行Java应用性能分析
文章目录 一、基本概念 二、Windows系统中JProfiler的安装 1、下载exe文件 2、安装JProfiler 三、JProfiler的破解 四、IDEA中配置JProfiler 1、安装JProfiler插件 2、关联本地磁盘中JProfiler软件的执行文件 3、IDEA中启动JProfiler 五、监控本地主机中的Java应用 …...

遥感解译项目Land-Cover-Semantic-Segmentation-PyTorch之一推理模型
文章目录 效果项目下载项目安装安装步骤1、安装环境2、新建虚拟环境和安装依赖测试模型效果效果 项目下载 项目地址 https://github.com/souvikmajumder26/Land-Cover-Semantic-Segmentation-PyTorch 可以直接通过git下载 git clone https://github.com/souvikmajumder26/Lan…...
最大似然估计(Maximum Likelihood Estimation, MLE)详解
一、定义 最大似然估计 是一种参数估计方法,其核心思想是: 选择能使观测数据出现概率最大的参数值作为估计值。 具体来说,假设数据 D x 1 , x 2 , … , x n D{x_1,x_2,…,x_n} Dx1,x2,…,xn独立且服从某个概率分布 P ( x ∣ θ ) P(…...
【单片机】如何产生负电压?
以下是对知乎文章《单片机中常用的负电压是这样产生的!》的解析与总结,结合电路原理、应用场景及讨论要点展开: 一、负电压产生的核心原理 负电压本质是相对于参考地(GND)的电势差为负值,需通过电源或储能…...
Java 8 Stream 流操作全解析
文章目录 **一、Stream 流简介****二、Stream 流核心操作****1. 创建 Stream****2. 中间操作(Intermediate Operations)****filter(Predicate<T>):过滤数据****1. 简单条件过滤****2. 多条件组合****3. 过滤对象集合****4. 过滤 null 值…...
java线程中断的艺术
文章目录 引言java中的中断何时触发中断阻塞如何响应中断中断的一些实践基于标识取消任务如何处理阻塞式的中断合理的中断策略时刻保留中断的状态超时任务取消的最优解处理系统层面阻塞IO小结参考引言 我们通过并发编程提升了系统的吞吐量,特定场景下我们希望并发的线程能够及…...
【信息系统项目管理师】一文掌握高项常考题型-项目进度类计算
更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 一、进度类计算的基本概念1.1 前导图法1.2 箭线图法1.3 时标网络图1.4 确定依赖关系1.5 提前量与滞后量1.6 关键路径法1.7 总浮动时间1.8 自由浮动时间1.9 关键链法1.10 资源优化技术1.11 进度压缩二、基本公式…...
HarmonyOS 鸿蒙应用开发基础:转换整个PDF文档为图片功能
在许多应用场景中,将PDF文档的每一页转换为单独的图片文件是非常有帮助的。这可以用于文档的分享、扫描文档的电子化存档、或者进行进一步的文字识别处理等。本文将介绍如何使用华为HarmonyOS提供的PDF处理服务将整个PDF文档转换为图片,并将这些图片存放…...
Flask-SQLAlchemy核心概念:模型类与数据库表、类属性与表字段、外键与关系映射
前置阅读,关于Flask-SQLAlchemy支持哪些数据库及基本配置,链接:Flask-SQLAlchemy_数据库配置 摘要 本文以一段典型的 SQLAlchemy 代码示例为引入,阐述以下核心概念: 模型类(Model Class) ↔ 数…...
刷题 | 牛客 - js中等题-下(更ing)30/54知识点解答
知识点汇总: 数组: Array.prototype.pop():从数组末尾删除一个元素,并返回这个元素。 Array.prototype.shift():从数组开头删除一个元素,并返回这个元素。 array.reverse():将数组元素反转顺…...
RAM(随机存取存储器)的通俗解释及其在路由器中的作用
RAM(随机存取存储器)的通俗解释及其在路由器中的作用 一、RAM是什么? RAM(Random Access Memory) 就像餐厅的“临时工作台”: 核心作用:临时存储正在处理的任务(如厨师同时处理多道…...

六、【前端启航篇】Vue3 项目初始化与基础布局:搭建美观易用的管理界面骨架
【前端启航篇】Vue3 项目初始化与基础布局:搭建美观易用的管理界面骨架 前言技术选型回顾与准备准备工作第一步:进入前端项目并安装 Element Plus第二步:在 Vue3 项目中引入并配置 Element Plus第三步:设计基础页面布局组件第四步…...
【项目需求分析文档】:在线音乐播放器(Online-Music)
1. 用户管理模块 1.1 注册功能 功能描述 提供注册页面,包含用户名、密码输入框及提交按钮。用户名需唯一性校验,密码使用 BCrypt 加密算法存储。注册成功后自动跳转至登录页面。 1.2 登录功能 功能描述 提供登录页面,包含用户名、密码输入…...

C++ 前缀和数组
一. 一维数组前缀和 1.1. 定义 前缀和算法通过预处理数组,计算从起始位置到每个位置的和,生成一个新的数组(前缀和数组)。利用该数组,可以快速计算任意区间的和,快速求出数组中某一段连续区间的和。 1.2. …...
PHP 实现通用数组字段过滤函数:灵活去除或保留指定 Key
PHP 实现数组去除或保留指定字段的通用函数详解 一、文章标题 《PHP 实现通用数组字段过滤函数:灵活去除或保留指定 Key》 二、摘要 在实际开发中,我们经常需要对数组进行字段级别的操作,例如从一个数组中删除某些敏感字段(如密码、token),或者只保留特定字段用于接口…...
NACOS2.3.0开启鉴权登录
环境 名称版本nacos2.3.0(Linux)java java version "17.0.14" 2025-01-21 LTS # # Copyright 1999-2021 Alibaba Group Holding Ltd. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use thi…...

细胞冻存的注意事项,细胞冻存试剂有哪些品牌推荐
细胞冻存的原理 细胞冻存的基本原理是利用低温环境抑制细胞的新陈代谢,使细胞进入一种“休眠”状态。在低温条件下,细胞的生物活动几乎停止,从而实现长期保存。然而,细胞在冷冻过程中可能会因为细胞内外水分结冰形成冰晶而受损。…...

快速上手Linux火墙管理
实验网络环境: 主机IP网络f1192.168.42.129/24NATf2(双网卡) 192.168.42.128/24 192.168.127.20/24 NAT HOST-NOLY f3192.168.127.30/24HOST-ONLY 一、iptables服务 1.启用iptables服务 2.语法格式及常用参数 语法格式:参数&…...

[创业之路-375]:企业战略管理案例分析 - 华为科技巨擘的崛起:重构全球数字化底座的超级生命体
在人类文明从工业时代(机械、电气、自动化)迈向数字智能(硬件、软件、算法、虚拟、智能)时代的临界点上,一家中国企业正以令人震撼的姿态重塑全球科技版图。从通信网络的底层架构到智能终端的生态闭环,从芯…...
【paddle】常见的数学运算
根据提供的 PaddlePaddle 函数列表,我们可以将它们按照数学运算、逻辑运算、三角函数、特殊函数、统计函数、张量操作和其他操作等类型进行分类。以下是根据函数功能进行的分类: 取整运算 Rounding functions 代码描述round(x)距离 x 最近的整数floor(…...

AI基础知识(05):模型提示词、核心设计、高阶应用、效果增强
目录 一、核心设计原则 二、高阶应用场景 三、突破性技巧 以下是针对DeepSeek模型的提示词设计思路及典型应用场景示例,帮助挖掘其潜在能力: 一、核心设计原则 1. 需求明确化:用「角色定位任务目标输出格式」明确边界 例:作为历…...
分布式事务之Seata
概述 Seata有四种模式 AT模式:无侵入式的分布式事务解决方案,适合不希望对业务进行改造的场景,但由于需要添加全局事务锁,对影响高并发系统的性能。该模式主要关注多DB访问的数据一致性,也包括多服务下的多DB数据访问…...

推测解码算法在 MTT GPU 的应用实践
前言 目前主流的大模型自回归解码每一步都只生成一个token, 尽管kv cache等技术可以提升解码的效率,但是单个样本的解码速度依然受限于访存瓶颈,即模型需要频繁从内存中读取和写入数据,此时GPU的利用率有限。为了解决这种问题,…...

Axure酒店管理系统原型
酒店管理系统通常被设计为包含多个模块或界面,以支持酒店运营的不同方面和参与者。其中,管理端和商户端是两个核心组成部分,它们各自承担着不同的职责和功能。 软件版本:Axure RP 9 预览地址:https://556i1e.axshare.…...

写实交互数字人在AI招聘中的应用方案
随着科技的进步,越来越多的行业开始探索如何利用人工智能提升效率和服务质量。其中,写实交互数字人技术以其高度拟真的交互体验和丰富的情感表达能力,在人力资源领域特别是招聘环节中展现出了巨大潜力。本文将探讨写实交互数字人在AI招聘中的…...
C++中IO类(iostream、fstream和sstream)知识详解和应用
一、C I/O 类体系概览 C 的 I/O 功能由一组 流(stream) 类封装,位于头文件 <iostream>、<fstream>、<sstream> 等。核心类别及其继承关系简图如下: ios_base↑basic_ios<CharT,Traits>↑┌───────…...
Spring Boot中如何对密码等敏感信息进行脱敏处理
以下是常见的脱敏方法及实现步骤,涵盖配置、日志和API响应等多个层面: 1. 配置文件敏感信息脱敏 (1) 使用加密库(如Jasypt) 步骤: 添加依赖: <dependency><groupId>com.github.ulise…...
React从基础入门到高级实战:React 基础入门 - JSX与组件基础
JSX 与组件基础 引言 在 React 开发中,JSX 和 组件 是两个最基础且核心的概念。JSX 是一种独特的语法,让你在 JavaScript 中编写类似 HTML 的代码,而组件则是 React 应用的基本构建块,帮助你将复杂的界面拆分为可复用的模块。本…...