在之前的文章中分享过Matlab散点气泡图的绘制模板:
说是气泡图,本质上还是散点图,作为论文插图不是很标准。
所以,这一次来分享一下Matlab自带气泡图的绘制模板。
先来看一下成品效果:
特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛,只需按照模板格式添加相应内容,即可得到满足大部分期刊以及学位论文格式要求的数据插图。如果觉得有用可以分享给你的朋友。
模板中最关键的部分内容:
1. 数据准备
此部分主要是读取数据,定义各变量。
% 读取数据
load data.mat
% x坐标
xx = data(:,1);
% y坐标
yy = data(:,2);
% 特征(特征大小对应颜色/点的尺寸)
sz = data(:,3);
2. 颜色定义
颜色搭配比较考验个人审美,需要多加尝试。
这里直接用之前分享的addcolorplus工具中的渐变色:
%% 颜色定义
map = addcolorplus(300);
3. 气泡图绘制
使用‘bubblechart’命令,绘制未经美化的气泡图。
bubblechart(xx, yy, sz, sz,'MarkerFaceAlpha',0.7);
hTitle = title('BubbleChart');
hXLabel = xlabel('XAxis');
hYLabel = ylabel('YAxis');
其中,第一个‘sz’表示气泡的尺寸,第二个‘sz’表示气泡的颜色,这里我用了同一个特征,如果有需要,可以用气泡颜色表示另一种特征。
值得一提的是,bubblechart函数需要Matlab R2020b以上。
4. 细节优化
为了插图的美观,利用’colormap’命令赋上之前选择好的颜色:
% 赋色
colormap(map)
进一步,添加图例,调整字体字号、背景颜色等属性:
% 坐标轴美化
set(gca, 'Box', 'on', ... % 边框
'XGrid', 'off', 'YGrid', 'off', ... % 网格
'TickDir', 'in', 'TickLength', [.01 .01], ... % 刻度
'XMinorTick', 'off', 'YMinorTick', 'off', ... % 小刻度
'XColor', [.1 .1 .1], 'YColor', [.1 .1 .1],... % 坐标轴颜色
'XTick', 0:2:24,... % 坐标区刻度、范围
'XLim', [0 23],...
'YTick', 0:0.2:1.2,...
'YLim', [0 1.2])
% 添加图例
blgd = bubblelegend('Style','vertical',...
'BubbleSizeOrder','descending',...
'box','off',...
'Location','northeastoutside',...
'NumBubbles',3,... ...
'FontName', 'Helvetica',...
'FontSize', 9);
colorbar('Position',[0.79,0.11,0.03,0.4])
% 字体和字号
set(gca, 'FontName', 'Helvetica')
set([hXLabel, hYLabel], 'FontName', 'AvantGarde')
set(gca, 'FontSize', 10)
set([hXLabel, hYLabel], 'FontSize', 11)
set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')
% 背景颜色
set(gcf,'Color',[1 1 1])
设置完毕后,以期刊所需分辨率、格式输出图片。
%% 图片输出
figW = figureWidth;
figH = figureHeight;
set(figureHandle,'PaperUnits',figureUnits);
set(figureHandle,'PaperPosition',[0 0 figW figH]);
fileout = 'test';
print(figureHandle,[fileout,'.png'],'-r300','-dpng');
也可以尝试其它配色:
以上。