【Matlab】雷达图/蛛网图

news2025/5/25 22:20:51

文章目录

  • 一、简介
  • 二、安装
  • 三、示例
  • 四、所有参数说明

一、简介

雷达图(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π(i1),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;
end

line_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.coloradmin.cn/o/2385648.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用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…

六、【前端启航篇】Vue3 项目初始化与基础布局:搭建美观易用的管理界面骨架

【前端启航篇】Vue3 项目初始化与基础布局:搭建美观易用的管理界面骨架 前言技术选型回顾与准备准备工作第一步:进入前端项目并安装 Element Plus第二步:在 Vue3 项目中引入并配置 Element Plus第三步:设计基础页面布局组件第四步…

C++ 前缀和数组

一. 一维数组前缀和 1.1. 定义 前缀和算法通过预处理数组,计算从起始位置到每个位置的和,生成一个新的数组(前缀和数组)。利用该数组,可以快速计算任意区间的和,快速求出数组中某一段连续区间的和。 1.2. …

细胞冻存的注意事项,细胞冻存试剂有哪些品牌推荐

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

快速上手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]:企业战略管理案例分析 - 华为科技巨擘的崛起:重构全球数字化底座的超级生命体

在人类文明从工业时代(机械、电气、自动化)迈向数字智能(硬件、软件、算法、虚拟、智能)时代的临界点上,一家中国企业正以令人震撼的姿态重塑全球科技版图。从通信网络的底层架构到智能终端的生态闭环,从芯…

AI基础知识(05):模型提示词、核心设计、高阶应用、效果增强

目录 一、核心设计原则 二、高阶应用场景 三、突破性技巧 以下是针对DeepSeek模型的提示词设计思路及典型应用场景示例,帮助挖掘其潜在能力: 一、核心设计原则 1. 需求明确化:用「角色定位任务目标输出格式」明确边界 例:作为历…

推测解码算法在 MTT GPU 的应用实践

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

Axure酒店管理系统原型

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

写实交互数字人在AI招聘中的应用方案

随着科技的进步,越来越多的行业开始探索如何利用人工智能提升效率和服务质量。其中,写实交互数字人技术以其高度拟真的交互体验和丰富的情感表达能力,在人力资源领域特别是招聘环节中展现出了巨大潜力。本文将探讨写实交互数字人在AI招聘中的…

房贷利率计算前端小程序

利率计算前端小程序 视图效果展示如下&#xff1a; 在这里插入代码片 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&qu…

在Visual Studio中进行cuda编程

首先下载与CUDA Toolkit匹配的Visual Studio版本 比如我的CUDA Toolkit版本是12.6&#xff0c;那么我可以使用2022的Visual Studio。 查看Toolkit版本 nvcc -V 配置 ok&#xff0c;让我们开始Visual Studio的nvcc编译器配置 参考例文https://github.com/apachecn/succinc…

Fastrace:Rust 中分布式追踪的现代化方案

原文链接&#xff1a;Fastrace: A Modern Approach to Distributed Tracing in Rust | FastLabs / Blog 摘要 在微服务架构中&#xff0c;分布式追踪对于理解应用程序的行为至关重要。虽然 tokio-rs/tracing 在 Rust 中被广泛使用&#xff0c;但它存在一些显著的挑战&#xf…

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.…

黑马Java基础笔记-15

Set 无索引&#xff0c;无序&#xff0c;不可重复 HashSet object类中默认hashCode的方法是根据地址值。 如果集合中存储的是自定义对象&#xff0c;必须要重写hashCode和equals方法。 底层原理 jdk8以前&#xff1a;数组 链表 jdk8及以后&#xff1a;数组 链表 红黑…

软件设计师“排序算法”真题考点分析——求三连

一、考点分值占比与趋势分析 综合知识题分值统计表 年份考题数量总分值分值占比考察重点2018222.67%时间复杂度/稳定性判断2019334.00%算法特性对比分析2020222.67%空间复杂度要求2021111.33%算法稳定性判断2022334.00%综合特性应用2023222.67%时间复杂度计算2024222.67%分治…

Visual Studio 2019/2022:当前不会命中断点,还没有为该文档加载任何符号。

1、打开调试的模块窗口&#xff0c;该窗口一定要在调试状态下才会显示。 vs2019打开调试的模块窗口 2、Visual Studio 2019提示未使用调试信息生成二进制文件 未使用调试信息生成二进制文件 3、然后到debug目录下看下确实未生成CoreCms.Net.Web.WebApi.pdb文件。 那下面的…

vue--ofd/pdf预览实现

背景 实现预览ofd/pdf超链接功能 业务实现 pdf的预览 实现方式&#xff1a; 直接使用 <iframe :src"${url}#navpanes0&toolbar0" /> 实现pdf的预览。 navpanes0 隐藏侧边栏toolbar0 隐藏顶部工具栏 使用pdf.js&#xff0c;代码先行&#xff1a; <tem…

Python 爬虫之requests 模块的应用

requests 是用 python 语言编写的一个开源的HTTP库&#xff0c;可以通过 requests 库编写 python 代码发送网络请求&#xff0c;其简单易用&#xff0c;是编写爬虫程序时必知必会的一个模块。 requests 模块的作用 发送网络请求&#xff0c;获取响应数据。 中文文档&#xf…