精华内容
下载资源
问答
  • MATLAB基本子图绘制功能,可以在一个figure中绘制大小相等多个子图。有时,我们需要绘制更为复杂子图样式,如下: 这样问题可以称之为子图分块绘制,也就是每个子图占用不同比例空间。 2. 技术...

    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

    转载自:https://www.jianshu.com/p/96cb3fbbea68?from=singlemessage

    展开全文
  • MatlabSUBPLOT的图像大小调整

    万次阅读 2015-04-30 21:08:18
    (1)subplot的子窗口都是固定的,其设置是内置的默认值,你可以通过axes函数来重新规定子窗口的大小和位置。如: axes('position',[.1 .1 .8 .6]) mesh(peaks(20)); axes('position',[.1 .7 .8 .2]) ...

    解决方法:

    (1)subplot的子窗口都是固定的,其设置是内置的默认值,你可以通过axes函数来重新规定子窗口的大小和位置。如:
    axes('position',[.1  .1  .8  .6])
    mesh(peaks(20));
    axes('position',[.1  .7  .8  .2])
    pcolor([1:10;1:10]);


    (2)另外,subplot其实也可以设定子窗口的大小和位置

    SUBPLOT('position',[left bottom width height]) creates an  axis at the specified position in normalized coordinates 

    ( in the range from 0.0 to 1.0).


    (3)也可以在画出的图上通过edit下拉菜单下的命令进行调整

    或点击上边的箭头,使图处于编辑状态,直接对轴进行调整


    使用axes控制(取代subplot)
    ex
    rgb = imread('ngc6543a.jpg');
    axes('position',[0  0  .5  1]); image(rgb);
    axes('position',[.5  0  .5  1]); im = mean(rgb,3); image(im); colormap(hot(256))


    subplot(2, 3, 2);

    set(gca, 'Units', 'normalized', 'Position', [0.505 0.505 0.495 0.495])
    展开全文
  • subplot(1, 2, 2), imshow(B)无论 A 和 B size 是否一致,最终显示出来 figure 中两幅图像大小都是相同。 2. 原因及解决之所以第二个图看起来和第一张图等大,是因为第二个 subplot XY 轴单位长度比第...

    1. 问题描述

    figure
    subplot(1, 2, 1), imshow(A)
    subplot(1, 2, 2), imshow(B)

    无论 A 和 B 的 size 是否一致,最终显示出来的 figure 中的两幅图像大小都是相同的。

    2. 原因及解决

    之所以第二个图看起来和第一张图等大,是因为第二个 subplot 的 XY 轴的单位长度比第一个subplot中的要长(二者的比例尺不同)。所以简单一点的解决方法是:将第二个 subplot 的 XLim 和 YLim 属性设为和第一个 subplot 中的对应属性值。

    3. demo:图像金字塔变换

    % 加载图像数据到内存
    I = imread('cameraman.tif');
    size(I)
    
    % reduce ==> {2, 4, 8}
    I1 = impyramid(I, 'reduce'); size(I1)
    I2 = impyramid(I1, 'reduce'); size(I2)
    I3 = impyramid(I2, 'reduce'); size(I3)
    
    figure
    a1 = subplot(1, 4, 1); imshow(I),  
    xs = get(a1, 'xlim'); ys = get(a1, 'ylim');
    a2 = subplot(1, 4, 2); imshow(I1),
    set(a2, 'xlim', xs, 'ylim', ys);
    a3 = subplot(1, 4, 3); imshow(I2),
    set(a3, 'xlim', xs, 'ylim', ys);
    a4 = subplot(1, 4, 4); imshow(I3)
    set(a4, 'xlim', xs, 'ylim', ys);
    
    I1 = impyramid(I, 'expand'); size(I1)
    I2 = impyramid(I1, 'expand'); size(I2)
    I3 = impyramid(I2, 'expand'); size(I3)
    
    figure
    a1 = subplot(1, 4, 1); imshow(I3),  
    xs = get(a1, 'xlim'); ys = get(a1, 'ylim');
    a2 = subplot(1, 4, 2); imshow(I2),
    set(a2, 'xlim', xs, 'ylim', ys);
    a3 = subplot(1, 4, 3); imshow(I1),
    set(a3, 'xlim', xs, 'ylim', ys);
    a4 = subplot(1, 4, 4); imshow(I)
    set(a4, 'xlim', xs, 'ylim', ys);
    展开全文
  • figure(3) set(gcf,'color',[1 1 1]) set(gcf,'position',[150 10 600 800...subplot(221) plot(t1,V_b1(id*3-2,:),'color','r') axis tight h=legend('Case1'); set(h,'box','off','fontsize',6,'location','best')...
    figure(3)
    set(gcf,'color',[1 1 1])
    set(gcf,'position',[150 10 600 800])
    subplot(221)
    plot(t1,V_b1(id*3-2,:),'color','r')
    axis tight
    h=legend('Case1');
    set(h,'box','off','fontsize',6,'location','best')
    xlabel('Time/s','fontsize',10)
    ylabel('X-Velocity/m/s','fontsize',10)
    set(gca,'position',[0.08 0.55 0.4 0.43])
    subplot(222)
    plot(t2,V_b2(id*3-2,:),'color','g')
    axis tight
    h=legend('Case2');
    set(h,'box','off','fontsize',6,'location','best')
    xlabel('Time/s','fontsize',10)
    ylabel('X-Velocity/m/s','fontsize',10)
    set(gca,'position',[0.58 0.55 0.4 0.43])
    subplot(223)
    plot(t3,V_b3(id*3-2,:),'color','b')
    axis tight
    h=legend('Case3');
    set(h,'box','off','fontsize',6,'location','best')
    xlabel('Time/s','fontsize',10)
    ylabel('X-Velocity/m/s','fontsize',10)
    set(gca,'position',[0.08 0.06 0.4 0.43])
    subplot(224)
    plot(t4,V_b4(id*3-2,:),'color','k')
    axis tight
    h=legend('Case4');
    set(h,'box','off','fontsize',6,'location','best')
    xlabel('Time/s','fontsize',10)
    ylabel('X-Velocity/m/s','fontsize',10)
    set(gca,'position',[0.58 0.06 0.4 0.43])
    

    其中set(gca,‘position’,[0.58 0.06 0.4 0.43 ])
    四个数分别代表距y轴的距离、距x轴的距离、图宽、图长

    展开全文
  • 左上角数字编号见我另一篇博文,Matlab使用subplot绘制子图时编号(a)(b)©(d) 。 这里由于超过26个字母改位数字了。 https://blog.csdn.net/jh1513/article/details/105660861 解决方法 首先明确我们是...
  • 1. 问题描述MATLAB基本子图绘制功能,可以在一个figure中绘制大小相等多个子图。有时,我们需要绘制更为复杂子图样式,如下:这样问题可以称之为子图分块绘制,也就是每个子图占用不同比例空间。2. 技术...
  • 1. 问题描述MATLAB基本子图绘制功能,可以在一个figure中绘制大小相等多个子图。有时,我们需要绘制更为复杂子图样式,如下:这样问题可以称之为子图分块绘制,也就是每个子图占用不同比例空间。2. 技术...
  • 这两种方法中,第一种方法相对简单,但是第二种方法更加灵活,具体使用如下:第一种方法:使用subplot先看一下subplot的简单使用,程序如下:clear;clc;close all;t = 0:0.001:10;y1 = sin(t)...
  • 很常用的问题,准备好好考虑下以前都是用text随便搞的考虑方法step1、 找到第一行几个子图的位置,确定title位置step2、在...subplot的列数text: 需要添加的标题======================================function...
  • 根据图形的坐标轴的大小确定中间位置或者是想要的位置,如下图所示,横坐标师10^6为单位的坐标轴,左边一点的位置大概为-300000,纵坐标最下面一幅图的总高度为1,倒数第二幅图像总高度为0.4,加上下面的空白处,...
  • Matlabsubplot函数

    2020-02-17 08:36:01
    其中,m和n指定将图形窗口分成m*n个绘图区,p指定当前活动区,p的大小以行方向计数。 2、代码示例 clc; clear all; x = linspace(0,2*pi,60); subplot(2,2,1); plot(x, sin(x)-1); title('sin(x)-1');axis([0, 2...
  • subplot(1,2,1)函数表示产生图片1行2列第一张图片,直接subplot几张形式不同图片可能会出现比例不正常,两个措施限制subplot子框比例。 首先对plot函数设置x轴y轴大小,然后设置比例。 subplot(1,2,1) plot(J1) ...
  • 1. 原理 figure如同一张画布,axes是坐标轴用来控制所画图位置和大小。 在matlab的帮助文档中Graphics->Formatting and Annotation->Coordinate System->Properties->Axes ...
  • I often need to plot 10 images together, but using this code results in small images :img = rand(400,...for i=1:10subplot(2,5,i);imshow(img);title(['Image ' int2str(i)]);endAs you can see, the image...
  • (注:本人使用malab版本为:Matlab 2018a。) 1.想法来源 1.1需求来源** 绘制图片时需要存储用于word文章编辑中,而存储图片空白区域较大(相对图片实际内容而言占据太多空间),需要在word中手动裁剪。图片...
  • 针对matlab图片四周空白区域较大,导入word后需要手动裁剪,因此希望使用matlab的m文件自动去除图片四周空白区域。 我第一次解决方法链接为:https://mp.csdn.net/mdeditor/82852006# ,因为该方法有一定缺点,...
  • MATLABsubplot函数,让我们可以在一个图中画多张图,大多数情况下,系统自动平均分配的大小非常合适。但有时候,我们需要几个子图有不同的大小,或者是需要不均匀的位置,例如:函数图的三个视角立体频谱图和声波...
  • %基本语法:plot(x,y,'颜色...%属性变量:线宽Linewidth,点的大小Markersize,线型LineStyle,颜色'color' %线型:实线'-',虚线'--',点线':',点划线'-.' %标记:圆圈'O',加号'+',星号'*',点'.',叉号'X',方形's',菱形'd...
  • Matlab绘图去白边技巧(plot 、subplot)

    千次阅读 2018-03-07 13:49:59
    原文链接:http://blog.csdn.net/shanchuan2012/article/details/539802881. 原理...在matlab的帮助文档中Graphics->Formatting and Annotation->Coordinate System->Properties->Axe...
  • Matlab】去除图片周围空白区域(plot subplot)

    万次阅读 多人点赞 2017-01-02 16:46:24
    1. 原理figure如同一张画布,axes是坐标轴用来控制所画图位置和大小。在matlab的帮助文档中Graphics->Formatting and Annotation->Coordinate System->Properties->Axes Properties有axes属性,在...
  • 源地址:MATLAB中plot命令绘图微调几个注记1、MATLAB如何从硬盘读取文件。2、如何微调subplot子图位置。3、plot命令绘曲线时,曲线上标志如何调整大小。4、坐标轴调整。6、坐标标题中如何标上标。7、如何...
  • MATLAB】调整legend的大小位置

    千次阅读 2013-12-22 01:15:28
    源地址:...2、如何微调subplot子图位置。3、plot命令绘曲线时,曲线上标志如何调整大小。4、坐标轴调整。6、坐标标题中如何标上标。7、如何调整图示(legend)位置。%...
  • subplot语句在一个图形窗口上开多个大小不等子窗口进行绘图并添加注释,类似下图结构,可自行发挥。 代码如下: 在命令行窗口直接输入如下: y1=randn(10000,1); subplot(2,3,[1,4]) hist(y1) title('直方图') ...
  • MATLAB的subplot函数在坐标轴周围会留下太多空白区域,很多时候我们并不希望如此。 tight_subplot函数允许调节各图坐标轴之间距离、同时可以调节坐标轴周围空白区域大小。 [ha, pos] = tight_subplot(Nh, Nw...
  • 如何只添加一个总标题在subplot的图像上 通过查阅资料,发现有很多种方法,比如设置位置之类的,最后查到了一个函数——suptitle suptitle():与title用法类似,直接在括号内添加对应标题内容即可。 如何对总的...
  • 苹果特征检测与MATLAB实现-苹果特征检测与MATLAB实现.rar 摘要:  本文选取了可用于苹果分级部分特征,并在Matlab上进行试验检测。该方法可以对苹果外部缺陷、果梗、尺寸和形状进行全面检测,在此基础...
  • 不进行任何调整,默认画出图为正方形,当需要画三个子图横排摆放时,效果如下: load diagblock_noise.mat subplot(1,3,1); pcolor(X4);axis off;shading interp;colorbar; title('原始样本'); subplot(1,3,2); ...

空空如也

空空如也

1 2 3 4
收藏数 67
精华内容 26
关键字:

matlabsubplot的大小

matlab 订阅