matlab绘制雷达图

1、内容简介


619-可以交流、咨询、答疑

2、内容说明

3、仿真分析

clc
close all
clear
% prefer=[4,7;20,50;85,95;75,85;1.2,2.5;5,6];
% limit=[2,10;10,70;70,110;65,95;0.5,4;3,9];
% clf;
% draw_radar([6,35,96,70,2,5],limit,prefer,...
%     {'指标1/s','指标2/s','指标3/℃','指标4/℃','指标5/(g/s)','指标6/%'});
% draw_radar(data,lim,prefer_range,labels)函数,
% data是要画图的数据(根据数据的个数来确定雷达图的轴数),
% lim是各指标画图上下限范围,
% prefer_range是各指标参考上下限范围,
% labels是坐标轴名称。

prefer=[4,7;20,50;85,95;75,85;1.2,2.5];
limit=[2,10;10,70;70,110;65,95;0.5,4];
clf;
draw_radar([6,35,90,80,2],limit,prefer,...
    {'指标1/s','指标2/s','指标3/℃','指标4/℃','指标5/(g/s)'});

function text_around(x,y,txt,theta,fontsize)
    if nargin==4
        fontsize=10;
    end
    section=mod(theta+pi/12,2*pi);
    if section>pi+pi/6
        %上对齐
        if section>1.5*pi+pi/6
            %左对齐
            text(x,y,txt,'VerticalAlignment','cap','HorizontalAlignment','left','Fontsize',fontsize);
        elseif section>1.5*pi
            %中对齐
            text(x,y,txt,'VerticalAlignment','cap','HorizontalAlignment','center','Fontsize',fontsize);
        else
            %右对齐
            text(x,y,txt,'VerticalAlignment','cap','HorizontalAlignment','right','Fontsize',fontsize);
        end
    elseif section>pi
        %中、右对齐
        text(x,y,txt,'VerticalAlignment','middle','HorizontalAlignment','right','Fontsize',fontsize);
    elseif section>pi/6
        %下对齐
        if section>0.5*pi+pi/6
            %右对齐
            text(x,y,txt,'VerticalAlignment','bottom','HorizontalAlignment','right','Fontsize',fontsize);
        elseif section>0.5*pi
            %中对齐
            text(x,y,txt,'VerticalAlignment','bottom','HorizontalAlignment','center','Fontsize',fontsize);
        else
            %左对齐
            text(x,y,txt,'VerticalAlignment','bottom','HorizontalAlignment','left','Fontsize',fontsize);
        end
    else
        %中、左对齐
        text(x,y,txt,'VerticalAlignment','middle','HorizontalAlignment','left','Fontsize',fontsize);
    end
end

matlab绘制雷达图_第1张图片

 

4、参考论文

你可能感兴趣的:(Matlab系列案例,matlab,开发语言,雷达图)