MATLAB绘制气泡图

MATLAB绘制气泡图可用来对比不同数据组数据、评估指标权重可视化等,需基于MATLAB2021a及以上版本进行绘制,该2021a之前版本无气泡图函数。

以评估指标权重可视化为例,AHP法经专家赋权后获得的判断矩阵如图1,现利用气泡图来将其可视化,更直观的给审稿人印象,绘制步骤为:
MATLAB绘制气泡图_第1张图片

一、绘图

1、数据准备及初步处理

A=[1,5,4,4,3;0.2,1,0.333,0.5,0.25;0.25,3,1,0.5,0.333;0.25,2,2,1,0.333;0.333,4,3,3,1];%AHP所赋权值 
data=A;
[r,c] = size(data);
x = 1:c;
y = 1:r;
[xx,yy] = meshgrid(x,y);
yy = flipud(yy);

2、颜色设定

mycolor = [0.474509803921569,0.650980392156863,0.807843137254902;...
 0.682352941176471,0.823529411764706,0.898039215686275;...
 0.941176470588235,0.972549019607843,0.862745098039216;...
 0.992156862745098,0.968627450980392,0.705882352941177;...
 1,0.901960784313726,0.603921568627451];% 该配色作者尤为喜欢
map = mycolor;

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

figureUnits = 'centimeters';
figureWidth = 18; 
figureHeight = 12;
figureHandle = figure;
set(gcf, 'Units', figureUnits, 'Position', [0 0 figureWidth figureHeight]);
hold on

4、气泡矩阵图绘制(调用bubblechart函数)

bubblechart(xx(:),yy(:),data(:)*10,data(:),'MarkerFaceAlpha',1);
colormap(map); %配色
bubblesize([10 30]);% 调节气泡大小
% 坐标轴美化
axis equal
set(gca, 'Box', 'on', ...                            
         'XGrid', 'on', 'YGrid', 'on', ...                  
         'TickDir', 'in', 'TickLength', [0 0], ...         
         'XMinorTick', 'off', 'YMinorTick', 'off', ...          
         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1],...        
         'XTick', 0:1:c+1,...                                    
         'XLim', [0 c+1],...
         'YTick', 0:1:r+1,...
         'YLim', [0 r+1],...
         'XTickLabel',{'','A_1','A_2','A_3','B_1','B_2','B_3',''},...
         'YTickLabel',{'','B_3','B_2','B_1','A_3','A_2','A_1',''})
ytickangle(90)
set(gca,'xaxislocation','top');  % 将x轴放在最上面,需要正常放在下面的不需要此行
blgd = bubblelegend('Style','vertical',...
    'BubbleSizeOrder','descending',...
    'box','off',...
    'Location','northeastoutside',...
    'NumBubbles',3,... ...
    'FontName', 'Helvetica',...
    'FontSize', 10,...
    'Position', [0.79,0.59,0.17,0.347]);
colorbar('Position',[0.83,0.11,0.03,0.45]);%图例-颜色栏位置 
% 字体字号
set(gca, 'FontName', 'Arial', 'FontSize', 10)
set([hXLabel,hYLabel], 'FontName',  'Arial', 'FontSize', 11)
set(hTitle, 'FontSize', 13, 'FontWeight' , 'bold')
% 背景颜色
set(gcf,'Color',[1 1 1])

5、绘图输出

运行上述代码后,即可输出图2,此时我们发现右上方气泡图的图例明显大于原始设置数据且与条形图例不对应,需要手动微调。
MATLAB绘制气泡图_第2张图片

二、完善调整

点击图片属性检查器后,单击气泡图例,然后选择LimitLables 可以修改气泡图例数值(图3),将其手动修改为0.2和5即可(图4)。
MATLAB绘制气泡图_第3张图片
在这里插入图片描述

三、成图

成图如图5所示,所想更具体的展示结果,可以通过添加文本框的形式对每个点数据进行标注。
MATLAB绘制气泡图_第4张图片

四、参考资料

你可能感兴趣的:(#,MATLAB图形绘制技巧,matlab,气泡图)