Matlab论文插图绘制模板第121期—图中图

news2025/1/13 15:53:21

不知不觉,《Matlab论文插图绘制模板》系列教程已经连载更新了120期,而《Matlab进阶绘图》系列也更新了30期,分享了一系列各式各样数据图的标准化绘制模板:

本期分享的内容比较特殊,它可以串联起之前分享的一众数据图,从此解锁各式各样的复杂组合图

它便是图中图

先来看一下成品效果:

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


模板中最关键的部分内容

1. 数据准备

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

% 数据构造t = linspace(0,2*pi);t(1) = eps;y = sin(t);

2. 颜色定义

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

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

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

C = TheColor('xkcd',[454 384 270 627]);C1 = C(1,1:3);C2 = C(2,1:3);C3 = C(3,1:3);C4 = C(4,1:3);

3. 图中图绘制

利用‘axes’命令,分别绘制图中图各组成部分

% 主图绘制handaxes1 = axes('Units','normalized','Position', [0.12 0.12 0.8 0.8]); plot(t,y,'Color',C1,'LineWidth',2)hXLabel1 = xlabel('t');hYLabel1 = ylabel('sin(t)');hTitle = title('Plot in plot');% 次图1绘制handaxes2 = axes('Units','normalized','Position', [0.57 0.57 0.28 0.28]);fill(t, y.^2, C2,'LineWidth',1.2)hXLabel2 = xlabel('t');hYLabel2 = ylabel('(sin(t))^2');% 次图2绘制handaxes3 = axes('Units','normalized','Position', [0.22 0.22 0.28 0.28]);plot(t,y.^3,'Color',C4,'LineWidth',2)hXLabel3 = xlabel('t');hYLabel3 = ylabel('(sin(t))^3');

4. 细节优化

为了插图的美观,对图形细节等进行美化

% 主图坐标区调整set(handaxes1, 'Box', 'off', ...                                % 边框               'Layer','top',...                                % 图层               'LineWidth',1,...                                % 线宽               'XGrid', 'on', 'YGrid', 'on', ...                % 网格               'TickDir', 'out', 'TickLength', [0.01 0.01], ... % 刻度               'XMinorTick', 'off', 'YMinorTick', 'off', ...    % 小刻度               'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1])     % 坐标轴颜色set(handaxes1, 'XLim',[0 2*pi])set(handaxes1, 'FontName', 'Arial', 'FontSize', 10)set([hXLabel1,hYLabel1], 'FontSize', 11, 'FontName', 'Arial')xc = get(handaxes1,'XColor');yc = get(handaxes1,'YColor');unit = get(handaxes1,'units');ax = axes( 'Units', unit,...           'Position',get(handaxes1,'Position'),...           'XAxisLocation','top',...           'YAxisLocation','right',...           'Color','none',...           'XColor',xc,...           'YColor',yc);set(ax, 'linewidth',1,...        'XTick', [],...        'YTick', []);% 次图1坐标区调整set(handaxes2, 'Box', 'off', ...                                % 边框               'Layer','top',...                                % 图层               'LineWidth',1,...                                % 线宽               'XGrid', 'on', 'YGrid', 'on', ...                % 网格               'TickDir', 'out', 'TickLength', [0.01 0.01], ... % 刻度               'XMinorTick', 'off', 'YMinorTick', 'off', ...    % 小刻度               'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1])     % 坐标轴颜色set(handaxes2, 'FontName', 'Arial', 'FontSize', 9)set([hXLabel2,hYLabel2], 'FontSize', 10, 'FontName', 'Arial')xc = get(handaxes2,'XColor');yc = get(handaxes2,'YColor');unit = get(handaxes2,'units');ax = axes( 'Units', unit,...           'Position',get(handaxes2,'Position'),...           'XAxisLocation','top',...           'YAxisLocation','right',...           'Color','none',...           'XColor',xc,...           'YColor',yc);set(ax, 'linewidth',1,...        'XTick', [],...        'YTick', []);% 次图2坐标区调整set(handaxes3, 'Box', 'off', ...                                % 边框               'Layer','top',...                                % 图层               'LineWidth',1,...                                % 线宽               'XGrid', 'on', 'YGrid', 'on', ...                % 网格               'TickDir', 'out', 'TickLength', [0.01 0.01], ... % 刻度               'XMinorTick', 'off', 'YMinorTick', 'off', ...    % 小刻度               'XColor', [.1 .1 .1],  'YColor', [.1 .1 .1])     % 坐标轴颜色set(handaxes3, 'FontName', 'Arial', 'FontSize', 9)set([hXLabel3,hYLabel3], 'FontSize', 10, 'FontName', 'Arial')xc = get(handaxes3,'XColor');yc = get(handaxes3,'YColor');unit = get(handaxes3,'units');ax = axes( 'Units', unit,...           'Position',get(handaxes3,'Position'),...           'XAxisLocation','top',...           'YAxisLocation','right',...           'Color','none',...           'XColor',xc,...           'YColor',yc);set(ax, 'linewidth',1,...        'XTick', [],...        'YTick', []);% 标题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');

以上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1104986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

postman发送soap报文示例

一、soap简介 soap是一种基于XML的协议 二、postman发送soap请求 1、发送post请求,url:​​​ https://www.dataaccess.com/webservicesserver/NumberConversion.wso 2、headers设置,添加Content-Type,值为text/xml 添加SOAP…

Java 新手如何使用Spring MVC 中的查询字符串和查询参数

文章目录 什么是查询字符串和查询参数?Spring MVC中的查询参数处理可选参数处理多个值处理查询参数的默认值处理查询字符串示例:创建一个RESTful服务结论 🎉欢迎来到Java学习路线专栏~Java 新手如何使用Spring MVC 中的查询字符串和查询参数 …

06 迪米特法则

官方定义 迪米特法则(LoD:Law of Demeter)又叫最少知识原则(LKP:Least Knowledge Principle ),指的是一个类/模块对其他的类/模块有越少的了解越 好。简言之:talk only to your imm…

MySQL的ACID和并发事务带来的问题简单总结

拓跋阿秀 ACID 原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被恢复(Rollback)到事务…

【知识图谱】KBQA核心架构小结

KBQA是指基于知识图谱的问答系统,是知识图谱的重要应用形式,基于知识图谱的问答和基于LLM的问答殊途同归。 KBQA是一个系统,由多种功能模块组成,其核心架构梳理如下: 下面对各个模块简单小结 文本清洗 只有是文本的…

dashboard报错 错误:无法获取网络列表、dashboard报错 错误:无法获取云主机列表 解决流程

文章目录 错误说明dashboard上报错底层命令报错查看日志message日志httpd报错日志错误日志分析开始解决测试底层命令dashboard错误说明 dashboard上报错 首先,dashboard上无论是管理员还是其他项目,均无法获取云主机和网络信息,具体报错如下

广州虚拟动力携数字人全栈式产品,邀您来2023世界VR产业大会(南昌)一探虚实

2023年10月19-20日,由工业和信息化部、江西省人民政府联合主办,中国电子信息产业发展研究院、江西省工业和信息化厅、南昌市人民政府、虚拟现实产业联盟共同承办的2023世界VR产业大会将在南昌绿地国际博览中心盛大举办。 广州虚拟动力作为3D、AI虚拟人领…

【C++笔记】多态的原理、单继承和多继承关系的虚函数表、 override 和 final、抽象类、重载、覆盖(重写)、隐藏(重定义)的对比

1.final关键字 引出:设计一个不能被继承的类。有如下方法: class A { private:A(int a0):_a(a){} public:static A CreateOBj(int a0){return A(a);} protected:int _a; } //简介限制,子类构成函数无法调用父类构造函数初始化 //子类的构造…

从零开始搭建第一个django项目

目录 配置环境创建 Django 项目和 APP项目组成  ‍子目录文件组成应用文件组成 配置 settings.py启动项目 数据表创建models.pyDjango-models的常用字段和常用配置 Django-admin 引入admin后台和管理员外键views.pyurls.pypostman接口测试 QuerySetInstance功能APIView 的概念…

Mistral AI发布一个拥有 73 亿参数模型Mistral 7B

导读法国人工智能初创公司 Mistral AI 宣布推出其首款大语言模型 Mistral 7B 是一个,号称是迄今为止同规模产品中最强大的语言模型;在 Apache-2.0 许可下开源,可完全免费使用,不受任何限制。 Mistral AI 是一个成立仅六个月的初创…

python实现TCPclient

python实现TCPclient是一件简单的事情,只要通过socket这个模块就可以实现。 一、实现步骤 1、导入模块: 首先,你需要导入Python的socket模块。 import socket2、创建Socket对象: 使用socket.socket()函数创建一个新的socket对…

美国开源数据库ScyllaDB完成4300万美元融资

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于美国位于加州桑尼维尔的开源数据库ScyllaDB今日宣布完成4300万美元融资。 本轮融资由风险投资公司Eight Roads Ventures和AB Private Credit Investors领投。其他投资者包括TLV Partners&…

视觉 注意力机制——通道注意力、空间注意力、自注意力

前言 本文介绍注意力机制的概念和基本原理,并站在计算机视觉CV角度,进一步介绍通道注意力、空间注意力、混合注意力、自注意力等。 目录 前言 一、注意力机制 二、通道注意力机制 三、空间注意力机制 四、混合注意力机制 五、自注意力机制 六、…

基于多尺度超图的特征对齐网络--细胞定位

Paper Link:Multi-scale Hypergraph-based Feature Alignment Network for Cell Localization Code:https://github.com/Boli-trainee/MHFAN/tree/main 核心思想:利用多尺度超图来统一解决定位任务中形状、尺度和颜色方面的显著变化带来的挑…

elementui select组件下拉框底部增加自定义按钮

elementui select组件下拉框底部增加自定义按钮 el-select组件的visible-change 事件&#xff08;下拉框出现/隐藏时触发&#xff09; <el-selectref"select":value"value"placeholder"请选择"visible-change"visibleChange">&…

网络工程师知识点7

111、IS-IS路由器的三种类型&#xff1f; Level-1路由器&#xff08;只能创建level-1的LSDB&#xff09; Level-2路由器&#xff08;只能创建level-2的LSDB&#xff09; Level-1-2路由器&#xff08;路由器默认的类型&#xff0c;能同时创建level-1和level-2的LSDB&#xff09;…

如何开发微信小程序

前言 因为最近沉迷和朋友们一起下班去打麻将&#xff0c;他们推荐了一个计分的小程序&#xff0c;就不需要每局都转账或者用扑克牌记录了&#xff0c;但是这个小程序不仅打开有广告&#xff0c;各个页面都植入了广告&#xff0c;用起来十分不适。 于是我就心里暗自下定决心&a…

蓝桥杯每日一题2023.10.18

题目描述 特别数的和 - 蓝桥云课 (lanqiao.cn) 题目分析 简单枚举每一个可行的数 #include<bits/stdc.h> using namespace std; int flag, ans; int main() {int n;cin >> n;for(int i 1; i < n; i ){flag 0;int x i;while(x){int y x % 10;if(y 2 || y…

NewStarCTF2023week3-Rabin‘s RSA

根据题目提示是Rabin算法 先将N分解得到P和Q 导入e&#xff0c;n&#xff0c;p&#xff0c;q&#xff0c;c 使用Rabin算法直接计算明文&#xff0c;再将明文转字符串即可 我们也可以通过脚本来理解原理 import gmpy2 import libnump 13934102561950901579 q 144504527390…

全自动打包机检测不到货物怎么办?

全自动打包机也称无人化打包机或无人化捆扎机&#xff0c;是指在工作的过程中不需要人工干预&#xff0c;机器可以自动检测、自动输送、自动打包的设备。但最近有一些客户反映打包机不能自己检测到货物了。这是为什么呢&#xff1f; 1、电子眼感应太弱。电子眼的感应程度是可以…