MATLAB|subplot子图分块绘制的方法

1. 问题描述

MATLAB基本的子图绘制功能,可以在一个figure中绘制大小相等的多个子图。有时,我们需要绘制更为复杂的子图样式,如下:

这样的问题可以称之为子图的分块绘制,也就是每个子图占用不同比例的空间。

2. 技术背景

采用MATLAB的subplot命令。

3. 解决方案

MATLAB中子图的排列顺序如下,

要分块绘制子图,只需指定预期占用的子图空间。如问题描述中的图像,可以采用subplot(4,1,..)的布局,其中下方的大图可以占用2、3、4号子图空间。

4. 实施示例

figure
subplot(3,3,[1:3])
plot(t,sin(t),'-o')
title('子图 1 2 3')

subplot(3,3,[4 7])
plot(t,sin(t),'-*')
title('子图 4 7')

subplot(3,3,[5 6 8 9])
plot(t,sin(t),'->')
title('子图 5 6 8 9')

绘图效果如:

5. 常见问题

暂无

6. 示例代码

% 题目:MATLAB子图分块绘制示例
% 马骋

clc,clear
close all

t = linspace(0,2*pi,100);

%% 子图布局示例

figure
for iloop = 1:9
   subplot(3,3,iloop) 
   plot(t,sin(t),'-')
   title(['子图-',num2str(iloop)])
end
tools.white;

%% 子图分块示例

figure
subplot(3,3,[1:3])
plot(t,sin(t),'-o')
title('子图 1 2 3')

subplot(3,3,[4 7])
plot(t,sin(t),'-*')
title('子图 4 7')

subplot(3,3,[5 6 8 9])
plot(t,sin(t),'->')
title('子图 5 6 8 9')

本文用时 40 m

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,852评论 25 709
  • 来源:NumPy Tutorial - TutorialsPoint 译者:飞龙 协议:CC BY-NC-SA 4...
    布客飞龙阅读 33,474评论 6 98
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,651评论 4 61
  • 昨日,终于寻找到了心仪的,日本 伊贺烧。走在店外就被里面的朴实布置所吸引。店里的老板娘给我一种安静、闲适...
    王波_阅读 2,817评论 2 1
  • 2016年12月1日我参加了彭小六老师的第六期知识管理训练营,收获很多,发现自己有很多东西需要学习,我得一步一个脚...
    若无烦恼便无禅阅读 318评论 0 0

友情链接更多精彩内容