在之前的文章中分享过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');
也可以尝试其它配色:
以上。