当前位置: 首页 > news >正文

Matlab论文插图绘制模板第100期—紧凑排列多子图(Tiledlayout)

不知不觉,《Matlab论文插图绘制模板》系列来到了第100期。

在此之前,其实我也没想到会有这么多种数据可视化表达方式,论文里不是折线图就是柱状图,单调的很。

假如研究生那会要是能遇到现在的自己(分享的内容)……

感觉再多发几篇SCI、省出个把年毕业,也完全有空间实现。

说回正题。

在之前的文章中,分享了Matlab多子图的绘制模板:

大小不同多子图的绘制模板:

有一些朋友表示,子图之间的间隔有些大,问有没有办法解决。

所以,本期就来分享一下紧凑排列多子图的绘制模板。

先来看一下成品效果:

特别提示:本期内容『数据+代码』已上传资源群中,加群的朋友请自行下载。有需要的朋友可以关注同名公号【阿昆的科研日常】,后台回复关键词【绘图桶】查看加入方式


模板中最关键的部分内容

1. 数据准备

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

% 读取数据load data.mat

2. 颜色定义

作图不配色就好比做菜不放盐,总让人感觉少些味道。

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

这里直接使用TheColor配色工具中的SCI权威配色库

%% 颜色定义map = TheColor('sci',2064,'map',10);map = flipud(map);C = map([1 2 3 6],1:3);C1 = map(1,1:3);C2 = map(2,1:3);C3 = map(3,1:3);C4 = map(6,1:3);

3. 紧凑排列多子图绘制

通过tiledlayout’命令,在各个分块位置创建子图坐标区

然后,结合前面分享的论文插图绘制模板以及‘nexttile’命令,将每个子图的绘制视为完整的单一论文插图分别进行绘制

最后,通过将‘TileSpacing’和‘Padding’属性改变为‘compact’,完成紧凑排列多子图的绘制

%% 紧凑排列多子图绘制t = tiledlayout(2,2);% 绘制带误差棒的柱状图nexttile(1)hold onx = 1:4;GO = bar(x,bardata,0.6,'EdgeColor','none','LineWidth',1);for ii = 1:4    er = errorbar(x(ii),bardata(ii),barerr(ii),'CapSize',20);     er.Color = C(ii,:);      er.LineWidth = 1.5;    er.LineStyle = 'none';endhTitle = title('Bar with Errorbar');hXLabel = xlabel('Samples');hYLabel = ylabel('RMSE (m)');% 细节优化GO.FaceColor = 'flat';GO.CData(1,:) = C1;GO.CData(2,:) = C2;GO.CData(3,:) = C3;GO.CData(4,:) = C4;set(gca, 'Box', 'off', ...                                   % 边框         'Layer','top',...                                   % 图层         'LineWidth', 1,...                                  % 线宽         'XGrid', 'off', 'YGrid', 'off', ...                 % 网格         'TickDir', 'out', 'TickLength', [.015 .015], ...    % 刻度         'XMinorTick', 'off', 'YMinorTick', 'off', ...       % 小刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1],...     % 坐标轴颜色         'YTick', 0:0.1:1,...                                % 坐标轴刻度         'Ylim' , [0 0.6], ...         'Xlim' , [0.3 4.7], ...         'XTick', 1:4,...         'Xticklabel',{'S1' 'S2' 'S3' 'S4' },...         'Yticklabel',{0:0.1:1})set(gca, 'FontName', 'Arial', 'FontSize', 9)set([hXLabel, hYLabel], 'FontSize', 9, 'FontName', 'Arial')set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')% 绘制折线图nexttile(2)x = 1:8;p = plot(x,linedata);hTitle = title('Line Plot');hXLabel = xlabel('XAxis');hYLabel = ylabel('YAxis');% 细节优化MarkerL = {'v','o','^','s'};for i = 1:4    set(p(i),'LineStyle','-','Marker',MarkerL{i},'LineWidth',2.5,'Color',C(i,1:3))endset(gca, 'Box', 'off', ...                                % 边框         'LineWidth', 1,...                               % 线宽         'XGrid', 'off', 'YGrid', 'off', ...              % 网格         'TickDir', 'out', 'TickLength', [.015 .015], ... % 刻度         'XMinorTick', 'off', 'YMinorTick', 'off', ...    % 小刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1])     % 坐标轴颜色set(gca, 'XTick', 0:1:8,  'YTick', 0:20:80,...            % 刻度位置、间隔         'Xlim' ,[0 8],'Ylim' ,[0 60], ...                % 坐标轴范围         'Xticklabel',{0:1:8},...                         % X坐标轴刻度标签         'Yticklabel',{0:20:80})                          % Y坐标轴刻度标签hLegend = legend(p, ...                 'Samp1', 'Samp2','Samp3','Samp4', ...                 'Location', 'northeast'); set(gca, 'FontName', 'Arial', 'FontSize', 9)set([hLegend, hXLabel, hYLabel], 'FontSize', 9, 'FontName', 'Arial')set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')% 绘制饼图nexttile(4)pie(Piedata, Pieexplode)hTitle = title('Pie chart');% 细节优化colormap(C)th = findobj(gca, 'Type', 'text');set(th, 'FontName', 'Arail', 'FontSize', 10)set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')% 绘制堆叠图nexttile(3)x = 1:13;GO = bar(x,stackeddata,0.8,'stacked','EdgeColor','k');hTitle = title('Stacked bar chart');hXLabel = xlabel('Samples');hYLabel = ylabel('RMSE (m)');% 细节优化GO(1).FaceColor = C1;GO(2).FaceColor = C2;GO(3).FaceColor = C3;GO(4).FaceColor = C4;GO(1).ShowBaseLine='off';set(gca, 'Box', 'off', ...                                         % 边框         'LineWidth', 1, ...                                       % 线宽         'XGrid', 'off', 'YGrid', 'off', ...                         % 网格         'TickDir', 'out', 'TickLength', [.015 .015], ...          % 刻度         'XMinorTick', 'off', 'YMinorTick', 'off', ...             % 小刻度         'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1])              % 坐标轴颜色set(gca, 'YTick', 0:0.3:1.8,...         'Ylim' , [0 1.5], ...         'XTick', 1:13,...         'Xticklabel',{1:13},...         'Yticklabel',{0:0.3:1.8}) hLegend = legend([GO(1),GO(2),GO(3),GO(4)], ...                 'A', 'B', 'C', 'D', ...                 'Location', 'northeast');set(gca, 'FontName', 'Arial', 'FontSize', 9)set([hLegend,hXLabel, hYLabel], 'FontName', 'Arial', 'FontSize', 9)set(hTitle, 'FontSize', 12, 'FontWeight' , 'bold')%% 细节优化% 减小子图间距t.TileSpacing = 'compact';t.Padding = 'compact';

修改前:

修改后:

4. 图像输出

绘制完成后,以期刊所需分辨率、格式输出图片。

%% 图片输出figW = figureWidth;figH = figureHeight;set(figureHandle,'PaperUnits',figureUnits);set(figureHandle,'PaperPosition',[0 0 figW figH]);fileout = 'test';print(figureHandle,[fileout,'.png'],'-r300','-dpng');

以上。

相关文章:

Matlab论文插图绘制模板第100期—紧凑排列多子图(Tiledlayout)

不知不觉,《Matlab论文插图绘制模板》系列来到了第100期。 在此之前,其实我也没想到会有这么多种数据可视化表达方式,论文里不是折线图就是柱状图,单调的很。 假如研究生那会要是能遇到现在的自己(分享的内容&#x…...

[2.0快速体验]Apache Doris 2.0 日志分析快速体验

1. 概述 应用程序、服务器、云基础设施、IoT 和移动设备、DevOps、微服务架构—最重要的业务和 IT 发展趋势帮助我们以前所未有的方式优化运维和客户体验。但这些趋势也导致由机器生成的数据出现爆炸式成长,其中包括日志和指标等,例如,用户交…...

MySQL学习-数据库创建-数据库增删改查语句-事务-索引

MySQL学习 前言 SQL是结构化查询语言的缩写,用于管理关系数据库(RDBMS)中的数据。SQL语言由IBM公司的Donald Chamberlin和Raymond Boyce于20世纪70年代开发而来,是关系型数据库最常用的管理语言。 使用SQL语言可以实现关系型数据库中的数据处理、数据…...

浏览器渗透攻击-渗透测试模拟环境(9)

介绍了浏览器供给面和堆喷射技术。 “客户端最流行的应用软件是什么,大家知道吗?” 这个简单的问题,你当然不会放过:“当然是浏览器,国内用得最多的估计还是 IE 浏览器,其实 360安全浏览器遨游啥的也都是基于IE内核的。” “OK,浏览器是客户端渗透攻击的首要目标,目前IE…...

MySQL数据库基础(基础命令详解)

1、数据库操作 1.1、显示当前的数据库 SHOW DATABASES; 1.2、创建数据库 CREATE DATABASE IF NOT EXISTS 库名; 1.3、使用数据库 USE 库名; 1.4、删除数据库 DROP DATABASE IF EXISTS 库名; 说明:数据库删除之后,内部看不到对应…...

企业培训直播场景下嘉宾连线到底是如何实现的?

企业培训直播场景下,进行音视频连线的嘉宾,都拥有面向学员教学的权限,支持多位老师/专家异地同堂授课,那么,这种嘉宾连线到底是如何实现的? 企业培训,如何做到不受时间和地点限制,实…...

五、JSP05 分页查询及文件上传

五、JSP 分页查询及文件上传 5.1 使用分页显示数据 通过网络搜索数据时最常用的操作,但当数据量很大时,页面就会变得冗长,用户必须拖动才能浏览更多的数据 分页是把数据库中需要展示的数据逐页分步展示给用户 以分页的形式显示数据&#xff…...

一起看 I/O | 借助 Google Play 管理中心价格实验,优化定价策略

作者 / Google Play 产品经理 Phalene Gowling 今年 Google I/O 大会上的 "通过 Google Play Commerce 提升收益" 演讲重点为您介绍了深度集成至 Google Play 的最新创收工具。此工具专注于帮您优化定价策略。为您的产品或内容确定合适的价格是实现更出色的用户生命周…...

hexview 命令行操作使用说明

hexview 命令行操作使用说明 命令行操作基础格式 hexview.exe infile [option] -o outfile提取部分内容 hexview.exe app.hex /AR:0X200000-0X303404 /s /XI -o app1.hex/AR:指定提取的范围。(也可以使用/CR,它可以指定多个范围&#xff0…...

vue3+element plus,使用分页total修改成中文

vue3element plus,使用分页total修改成中文 使用element plus的分页功能 el-pagination 的时候,total属性显示是英文 这是我建的一个新项目,总数显示的Total 1000 我们的需求是显示中文,共 1000 条 这个就很尴尬,组件…...

RPC、HTTP、DSF、Dubbo,每个都眼熟,就是不知道有什么联系?

一、HTTP 和 RPC 首先,http 与 rpc 有什么区别这个问题不太严谨,因为这俩就不是一个层级的东西。 HTTP 这个大家太熟悉了吧?日常接触最多的恐怕就是各种http协议的接口了。 没错,http它是一个协议。 其他在这里就不打算铺开了…...

java.security.MessageDigest的用法

java.security.MessageDigest MessageDigest的含义 message含义是:消息,信息 digest的含义是 digest 必应词典 n.摘要;文摘;概要;汇编 v.消化;领会;领悟;理解 海词 n. 摘要 vt. 消化;理解 vi…...

3.2 分析特征间的关系

3.2 分析特征间的关系 3.2.1 绘制散点图 scatter()例子1:绘制2000-2017年各季度国民生产总值散点图例子2:使用不同颜色不同形状的点,绘制2000-2017年各产业各季度国民生产总值散点图 3.2.2 绘制折线图 plot()例子1:绘制2000-2017年…...

Numpy学习

Numpy官方手册:Array objects — NumPy v1.24 Manual 创建数组 1.1 从现有数据创建 重要类型 np.ndarray # 判断是否可以迭代 注意0维标量不可以遍历 print(__iter__ in dir(np.ndarray) and __getitem__ in dir(np.ndarray))np.array(object, dtypeNone) objec…...

IDC机房相电压与线电压的关系

380V电动机(三相空调压缩机)的电流计算公式为:Ⅰ=额定功率(1.732额定电压功率因数效率)。 功率因数是电力系统的一个重要的技术数据。功率因数是衡量电气设备效率高低的一个系数。功率因数低,说…...

chatgpt赋能python:Python如何设置输入的SEO

Python如何设置输入的SEO Python是一种高级的编程语言,具有容易上手、可扩展和开源等特点,因此在软件开发过程中得到广泛的应用。然而,如果您想让您的Python项目在搜索引擎上获得更好的排名和流量,您需要考虑如何设置输入的SEO。…...

Spring Cloud Alibaba — Nacos 构建服务注册中心

文章目录 Nacos Server下载启动登录创建命名空间 Nacos Client启动样例Nacos 服务发现配置项 集成 OpenFeign 远程接口调用添加 OpenFeign 依赖开启 EnableFeignClients 注解编写远程服务接口远程接口调用 集成 Sentinel 熔断降级添加 Sentinel 依赖开启 Sentinel 熔断降级编写…...

4.2 Spark SQL数据源 - 基本操作

一、默认数据源 案例演示读取Parquet文件 查看Spark的样例数据文件users.parquet 1、在Spark Shell中演示 启动Spark Shell 查看数据帧内容 查看数据帧模式 对数据帧指定列进行查询,查询结果依然是数据帧,然后通过write成员的save()方法写入HDF…...

事件相关功能磁共振波谱技术(fMRS)

导读 质子磁共振波谱(MRS)是一种非侵入性脑成像技术,用于测量不同神经化学物质的浓度。“单体素”MRS数据通常在几分钟内采集,然后对单个瞬态进行平均,从而测量神经化学物质浓度。然而,这种方法对更快速的神经化学物质的时间动态…...

跨境电商客户服务五步法

互联网技术的革新与升级对商务客服产生了巨大的影响,过去由在线客服与客户直接电联的单一服务形式被全渠道客服系统所替代。在电子商务时代,商家与客户之间的互动变得尤为重要:一方面,卖家通过分析客户喜好及消费趋向来针对性处理…...

GPT-SoVITS语音克隆技术深度解析:从原理到实战的完整指南

GPT-SoVITS语音克隆技术深度解析:从原理到实战的完整指南 【免费下载链接】GPT-SoVITS 项目地址: https://gitcode.com/GitHub_Trending/gp/GPT-SoVITS 你是否曾幻想过,只需短短几秒钟的录音,就能让AI完美模仿任何人的声音&#xff1…...

3步实现Axure RP本地化界面优化:开源工具助力中文设计环境构建

3步实现Axure RP本地化界面优化:开源工具助力中文设计环境构建 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包,不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-c…...

EfficientNet实战:如何在移动端部署B0-B7模型(附显存优化技巧)

EfficientNet移动端部署实战:从模型选型到显存优化全解析 在移动端和边缘计算场景中部署深度学习模型,就像给一辆跑车装上节能引擎——既要保持性能,又要极致压缩资源消耗。EfficientNet系列模型正是这种平衡艺术的代表作,但当开发…...

Python内存修复不靠猜:用objgraph+gc.get_referrers+自定义Allocator实现可视化追踪(工业级方案)

第一章:Python内存修复不靠猜:用objgraphgc.get_referrers自定义Allocator实现可视化追踪(工业级方案)Python内存泄漏常表现为对象持续增长却无法被回收,传统日志与print调试效率低下。本章提供一套可落地的工业级诊断…...

如何高效解析和生成PSD文件:Ag-PSD库完整指南

如何高效解析和生成PSD文件:Ag-PSD库完整指南 【免费下载链接】ag-psd Javascript library for reading and writing PSD files 项目地址: https://gitcode.com/gh_mirrors/ag/ag-psd 在当今数字设计工作流中,Photoshop文档(PSD&#…...

Unity游戏模组加载效率提升指南:从零开始掌握MelonLoader

Unity游戏模组加载效率提升指南:从零开始掌握MelonLoader 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 一、问题引…...

Nextcloud Android文件同步革命:实现跨设备无缝数据访问的完整指南 [特殊字符]

Nextcloud Android文件同步革命:实现跨设备无缝数据访问的完整指南 📱 【免费下载链接】android 📱 Nextcloud Android app 项目地址: https://gitcode.com/gh_mirrors/andr/android Nextcloud Android应用是一款功能强大的开源云存储…...

5个颠覆性智能测试提升技巧:Claude Code自动化测试生成全解析

5个颠覆性智能测试提升技巧:Claude Code自动化测试生成全解析 【免费下载链接】claude-code Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining …...

comsol仿真建模 由于结构本身的复杂性,很难对实际多孔结构中的流动进行建模。 在实际应用中...

comsol仿真建模 由于结构本身的复杂性,很难对实际多孔结构中的流动进行建模。 在实际应用中,详细求解流场不可行。 因此,使用了利用多孔结构平均物理量 (如孔隙率和渗透率)的宏观方法。 本例详细分析孔隙尺度的流场&am…...

如何快速实现分布式定时任务?Disque完整指南详解

如何快速实现分布式定时任务?Disque完整指南详解 【免费下载链接】disque Disque is a distributed message broker 项目地址: https://gitcode.com/gh_mirrors/di/disque 分布式定时任务在现代应用中至关重要,而Disque作为Redis作者antirez开发的…...