雷达图绘制(含Matlab 源代码)

雷达图,也称为蜘蛛网图或星形图,是一种用于可视化多个变量之间关系的图表。它以一个中心点为起点,从中心向外辐射出多条轴线,每条轴线代表一个变量。在每条轴线上,通过不同的数据点或者连线来表示不同变量的取值或者关系。综合分析多个指标、展示多维数据、比较不同数据集、视觉化数据分析、展示变量间的相对关系,是一种多功能的图表工具,能够帮助人们更好地理解数据,做出合理的判断和决策。

雷达图常用于比较不同实体在多个维度上的表现,例如产品的特征对比、团队成员的能力评估等。通过雷达图,我们可以直观地看到各个变量之间的相对差异和关系。

绘制雷达图的步骤如下:

确定需要比较的变量和其取值范围。
在一个平面上绘制出多条等分的轴线,每条轴线代表一个变量。
沿着每条轴线根据变量的取值范围划分出若干等分点。
根据实际数据,在相应的等分点上标记出数据点或者连线。
连接各个数据点或者连线,形成一个封闭的多边形。 
通过雷达图,我们可以直观地比较不同实体在各个维度上的表现,并且可以发现各个维度之间数量对比关系。

本文采用matlab代码实现了雷达图绘制,效果如图所示:

实现代码主程序如下所示:

%% 雷达图

close all;clear;clc;

% 读取数据

load data.mat

% 初始化参数

dataset = P;

lbs = {'Yield strength',...

      'Ultimate tensile strength',...

      'Elongation to fracture',...

      'UTS×EF',...

      'Saturation induction',...

      'Coercivity',...

      'Electrical resistivity'};

lgs = {'M-MCA','Fe-49Co-2V','Fe-78.5Ni','Fe-4Si'};

%% 颜色定义

map = colormap(nclCM(289));%color包里选颜色

C = map(1:4,:);

%% 图片尺寸设置(单位:厘米)

close all;

figureUnits = 'centimeters';

figureWidth = 20;

figureHeight = 12;

%% 窗口设置

figureHandle = figure('color','w');

set(gcf, 'Units', figureUnits, 'Position', [0 0 figureWidth figureHeight]);

%% 雷达图绘制

spider_plot_k(dataset,...

   'AxesLabels', lbs,...                                  % 角度坐标标签

   'AxesLabelsEdge', 'none',...                           % 角度坐标标签边框

   'AxesLabelsOffset',0.2,...                             % 角度坐标标签偏移量

   'LabelFontSize',12,...                                 % 角度坐标标签字号

   'AxesLineStyle','--',...                               % 角度坐标轴线型

   'AxesLineWidth',0.5,...                                % 角度坐标轴线宽

   'AxesDisplay', 'one',...                               % 半径坐标刻度

   'AxesLimits', [1,1,1,1,1,1,1;10,10,10,10,10,10,10],... % 半径坐标范围

   'AxesPrecision', 0,...                                 % 半径坐标刻度值精度

   'AxesFontSize',11,...                                  % 半径坐标标签字号

   'AxesInterval', 4,...                                  % 半径坐标轴线数

   'AxesHorzalign','center',...                           % 半径坐标标签水平对齐模式

   'AxesVertalign','bottom',...                           % 半径坐标标签垂直对齐模式

   'BackgroundColor','none',...                           % 背景颜色

   'Color', C,...                                         % 线颜色

   'LineWidth', 1.5,...                                   % 线宽

   'Marker', {'v', 'o', '^', 's'},...                     % 符号类型

   'MarkerSize',50,...                                    % 符号尺寸

   'FillOption', {'on', 'on', 'on', 'on'},...             % 是否填充

   'FillTransparency', 0.12);                             % 填充透明度

%% 细节优化

% Legend

hLegend = legend(lgs,...

               'FontWeight','normal',...

               'Box','off',...

               'Location', 'northeast');

% Legend位置微调

LP = hLegend.Position;

hLegend.Position = LP + [0.15 -0.25 0 0.05];

% 字体和字号

set(hLegend, 'FontName', 'Arial', 'FontSize', 10)

th = findobj(gca, 'Type', 'text');

set(th, 'FontName', 'Arial', 'fontweight','bold')

% 背景颜色

set(gcf,'Color',[1 1 1])

%% 图片输出

exportgraphics(figureHandle,'test.png','Resolution',300)

详细代码链接如下:

Matlab高级绘图全家桶,轻松搞定超60种绘图类型Matlab拥有强大的数据可视化功能,这也是其备受科研大佬们青睐的原因之一。利用Matlab的高级绘图全家桶,你能够轻松地呈现各种复杂数据,并使其变得更加易于阅读和理解。常用的柱状图、扇形图、折线图、三维图?当然不能少啦!不过,小编特别推荐更加高级的桑葚图、小提琴图、山脊图、雷达icon-default.png?t=N7T8https://mbd.pub/o/bread/mbd-ZpmYlpdq

  • 28
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值