Matlab论文插图绘制模板第50期—分簇散点图(Swarmchart)

发布于:2022-12-07 ⋅ 阅读:(731) ⋅ 点赞:(0)

在之前的文章中,分享了很多Matlab散点图的绘制模板

这一次,再来分享一种特殊的散点图分簇散点图

先来看一下成品效果:

特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛,只需按照模板格式添加相应内容,即可得到满足大部分期刊以及学位论文格式要求的数据插图。如果觉得有用可以分享给你的朋友


模板中最关键的部分内容

1. 数据准备

此部分主要是读取原始数据

% 读取数据load data.mat

2. 颜色定义

一幅图,如果数据普普通通,那就得靠配色加持了。

颜色搭配比较考验个人审美,需要多加尝试

这里直接使用TheColor配色工具中的Hunt四色配色库

%% 颜色定义C = TheColor('hunt',189);% C = TheColor('hunt',203);% C = TheColor('hunt',603);C1 = C(1,:);C2 = C(2,:);C3 = C(3,:);C4 = C(4,:);

3. 分簇散点图绘制

使用‘swarmchart’命令,绘制未经美化的分簇散点图

ms = 8;s1 = swarmchart(x1,y1,ms,C1,'filled');s2 = swarmchart(x2,y2,ms,C2,'filled');s3 = swarmchart(x3,y3,ms,C3,'filled');s4 = swarmchart(x4,y4,ms,C4,'filled');hTitle = title('Swarm Plot');hXLabel = xlabel('XAxis');hYLabel = ylabel('YAxis');

4. 细节优化

为了插图的美观,对分簇散点图的抖动宽度以及坐标轴属性等进行调整

% 调节抖动宽度xjs = 0.6;set(s1,'XJitterWidth',xjs)set(s2,'XJitterWidth',xjs)set(s3,'XJitterWidth',xjs)set(s4,'XJitterWidth',xjs)% 坐标轴美化set(gca, 'Box', 'off', ...                                       % 边框         'LineWidth',1,...         'XGrid', 'off', 'YGrid', 'off', ...                     % 网格         'TickDir', 'out', 'TickLength', [.01 .01], ...          % 刻度         'XMinorTick', 'off', 'YMinorTick', 'off', ...           % 小刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1],...         % 坐标轴颜色         'XTick', 1:4,...                                             'YLim',[-3.5 5.5],...         'XTickLabel',{'Samp1';'Samp2';'Samp3';'Samp4'})% 添加上右框线XL = get(gca,'xlim'); XR = XL(2);YL = get(gca,'ylim'); YT = YL(2);xc = get(gca,'XColor');yc = get(gca,'YColor');plot(XL,YT*ones(size(XL)),'color', xc,'linewidth',1)plot(XR*ones(size(YL)),YL,'color', yc,'linewidth',1)% 字体和字号set(gca, 'FontName', 'Arial', 'FontSize', 10)set([hXLabel,hYLabel], 'FontName',  'Arial', 'FontSize', 10)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');

也可以尝试其他配色:

以上。

完整代码:

Matlab分簇散点图绘制模板

本文含有隐藏内容,请 开通VIP 后查看