【MATLAB基础绘图第5棒】绘制气泡图

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

以评估指标权重可视化为例,AHP法经专家赋权后获得的判断矩阵如图1,现利用气泡图来将其可视化,更直观的给审稿人印象,绘制步骤为:
图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,此时我们发现右上方气泡图的图例明显大于原始设置数据且与条形图例不对应,需要手动微调。
在这里插入图片描述

二、完善调整

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

三、成图

成图如图5所示,所想更具体的展示结果,可以通过添加文本框的形式对每个点数据进行标注。
在这里插入图片描述

四、参考资料

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WW、forever

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值