MATLAB绘制雷达图/蜘蛛图
创始人
2024-05-26 22:30:51
0

雷达图/蜘蛛图

1 方法一

函数来源为MATLAB | 如何使用MATLAB绘制雷达图(蜘蛛图)

1.1 调用函数

名称说明备注
‘Type’用于指定每个轴的标签[‘Line’(默认)/‘Patch’]

1.2 案例

1.2.1 案例1:填充型

成图如下所示:
在这里插入图片描述
MATLAB实现代码如下:

clc
close all
clear
%% 导入数据
pathFigure= '.\Figures\' ;%% Example 1
X = randi([2,8],[4,7])+rand([4,7]);figure(1)
RC = radarChart(X ,'Type','Patch');
RC.RLim = [2,10];                         % 范围
RC.RTick = [2,8:1:10];                   % 刻度线
RC.PropName = {'Label1','Label2','Label3','Label4','Label5','Label6','Label7'};
RC.ClassName = {'A','B','C','D'};
RC = RC.draw(); 
RC.legend();                                 % 添加图例colorList=[78 101 155;138 140 191;184 168 207;231 188 198;253 207 158;239 164 132;182 118 108]./255;
for n=1:RC.ClassNumRC.setPatchN(n,'FaceColor',colorList(n,:),'EdgeColor',colorList(n,:))
endRC.setThetaTick('LineWidth',2,'Color',[.6,.6,.8]);          % theta轴颜色设置
RC.setRTick('LineWidth',1.5,'Color',[.8,.6,.6]);              % R轴颜色设置
RC.setPropLabel('FontSize',15,'FontName','Times New Roman','Color',[0,0,0])               % 属性标签
RC.setRLabel('FontSize',15,'FontName','Times New Roman','Color',[.8,0,0])                    % R刻度标签
% RC.setBkg('FaceColor',[0.8,0.8,0.8])                % 圆形背景颜色
% RC.setRLabel('Color','none')                           % 圆形背景颜色str= strcat(pathFigure, "Figure1", '.tiff');
print(gcf, '-dtiff', '-r600', str);

1.2.2 案例2:线型

成图如下所示:
在这里插入图片描述
MATLAB实现代码如下:

clc
close all
clear
%% 导入数据
pathFigure= '.\Figures\' ;%% Example 2
X = randi([2,8],[4,7])+rand([4,7]);figure(2)
RC=radarChart(X ,'Type','Line');
RC.PropName = {'Label1','Label2','Label3','Label4','Label5','Label6','Label7'};
RC.ClassName = {'A','B','C','D'};
RC=RC.draw();
RC.legend();colorList=[78 101 155;138 140 191;184 168 207;231 188 198;253 207 158;239 164 132;182 118 108]./255;
for n=1:RC.ClassNumRC.setPatchN(n,'Color',colorList(n,:),'MarkerFaceColor',colorList(n,:))
endRC.setThetaTick('LineWidth',2,'Color',[.6,.6,.8]);          % theta轴颜色设置
RC.setRTick('LineWidth',1.5,'Color',[.8,.6,.6]);              % R轴颜色设置
RC.setPropLabel('FontSize',15,'FontName','Times New Roman','Color',[0,0,0])               % 属性标签
RC.setRLabel('FontSize',15,'FontName','Times New Roman','Color',[.8,0,0])                    % R刻度标签
% RC.setBkg('FaceColor',[0.8,0.8,0.8])                % 圆形背景颜色
% RC.setRLabel('Color','none')                           % 圆形背景颜色str= strcat(pathFigure, "Figure2", '.tiff');
print(gcf, '-dtiff', '-r600', str);

2 方法二

函数来源为MATLAB帮助-spider_plot

2.1 调用函数

语法(Syntax):

spider_plot(P)spider_plot(P, Name, Value, ...)h = spider_plot(_)

输入变量:

  • P:用于绘制蜘蛛图的数据点。行是数据组,列是数据点。如果没有指定轴标签和轴限制,则自动生成。[向量|矩阵]

输出变量:

  • h:蜘蛛图的图柄。(图对象)

名称-值对参数(Name-Value Pair Arguments):

名称说明备注
AxesLabels用于指定每个轴的标签[自动生成(默认)/单元格的字符串/ ‘none’]
AxesInterval用于更改显示在网页之间的间隔数[3(默认值)/ integer]
AxesPrecision用于更改轴上显示的值的精度级别[1(默认)/ integer / vector]
AxesDisplay用于更改显示轴文本的轴数。'None’或’one’可用于简化规范化数据的图形外观[‘none’(默认)/ “没有”/“一”/“数据”/“data-percent”]

2.2 案例

2.2.1 案例1:填充型

成图如下所示:
在这里插入图片描述
MATLAB实现代码如下:

clc
close all
clear
%% 导入数据
pathFigure= '.\Figures\' ;
%% Example 1
% Initialize data points
D1 = [5 3 9 1 2];   
D2 = [5 8 7 2 9];
D3 = [8 2 1 4 6];
P = [D1; D2; D3];% Spider plot
figure(1)
h = spider_plot(P,...'AxesLabels', {'S1', 'S2', 'S3', 'S4', 'S5'},...'FillOption', {'on', 'on', 'off'},...'FillTransparency', [0.2, 0.1, 0.1],...'AxesLimits', [1, 2, 1, 1, 1; 10, 8, 9, 5, 10],...             % [min axes limits; max axes limits]'AxesPrecision', [0, 1, 1, 1, 1],...'LineStyle', {'--', '-', '--'},...'LineWidth', [1, 2, 3],...'AxesFont', 'Times New Roman',...'LabelFont', 'Times New Roman',...'AxesFontSize', 12,...'LabelFontSize', 12,...'AxesLabelsEdge', 'none');% Legend settings
hl = legend('D1', 'D2', 'D3', 'Location', 'northeast');
set(hl,'Box','off','FontSize',14,'Fontname', 'Times New Roman');str= strcat(pathFigure, "Figure1", '.tiff');
print(gcf, '-dtiff', '-r600', str);

2.2.2 案例2:线型

成图如下所示:
在这里插入图片描述
MATLAB实现代码如下:

clc
close all
clear
%% 导入数据
pathFigure= '.\Figures\' ;
%% Example 2
% Initialize data points
D1 = [5 3 9 1 2 2 9 3 1 9 8 7 2 3 6];
D2 = [5 8 7 2 9 7 6 4 8 9 2 1 8 2 4];
D3 = [8 2 1 4 6 1 8 4 2 3 7 5 6 1 6];
P = [D1; D2; D3];% Spider plot
spider_plot(P,...'AxesLimits', [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;...10 10 10 10 10 10 10 10 10 10 10 10 10 10 10],...'AxesInterval', 5,...'AxesDisplay', 'one',...'AxesPrecision', 0,...'AxesLabelsRotate', 'on',...'AxesLabelsOffset', 0.1,...'AxesRadial', 'off',...'AxesFont', 'Times New Roman',...'LabelFont', 'Times New Roman',...'AxesFontSize', 12,...'LabelFontSize', 12,...'AxesLabelsEdge', 'none');% Legend settings
hl = legend('D1', 'D2', 'D3', 'Location', 'northeast');
set(hl,'Box','off','FontSize',14,'Fontname', 'Times New Roman');str= strcat(pathFigure, "Figure2", '.tiff');
print(gcf, '-dtiff', '-r600', str);

参考

1.MATLAB | 如何使用MATLAB绘制雷达图(蜘蛛图)
2.MATLAB帮助-spider_plot

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...