当前位置:   article > 正文

Matlab 绘制竖线(直线),固定组合图中子图位置, Matlab绘制小间距组合图方法,设置图片不显示直接保存_matlab画图加竖线

matlab画图加竖线

MAtlab 绘制竖线,组合图中子图位置确定, Matlab绘制小间距组合图方法,设置图片不显示直接保存

一、 Matlab 绘制竖线

	a1 = find(T == min(T((T - cut1 / 1e3) > 0)));
    b1 = find(T == min(T((T - (cut1 + 250) / 1e3) > 0)));
    data1 = StrainTemp(a1:b1);
    a = find(T == min(T((T - cut2 / 1e3) > 0)));
    b = find(T == min(T((T - (cut2 + 250) / 1e3) > 0)));
    data2 = StrainTemp(a:b);
    
	plot(T, 1e9*squeeze(Strain(n, 1, :)), 'linewidth', 1.5);
	hold on; plot([T(a1), T(a1)], [top, dow], 'k-.')
	hold on; plot([T(b1), T(b1)], [top, dow], 'k-.')
	hold on; plot([T(a), T(a)], [top, dow], 'r-.')
	hold on; plot([T(b), T(b)], [top, dow], 'r-.')
	xlabel('Time (s)', 'FontName', 'Times New Roman', 'FontSize', 14);
	ylabel('Strain (n\epsilon)', 'FontName', 'Times New Roman', 'FontSize', 14);
	set(gca, 'FontName', 'Times New Roman', 'FontSize', 14);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

在这里插入图片描述

二、确定子图在框图中的位置

  1. subolot绘制2*3草图,大致确定子图位置

  2. 手动调整子图在匡图中的位置

  3. 如果只需要一张图,结束;如果需要批量绘制类似框图,点击编辑–>图窗属性–>位置
    在这里插入图片描述

  4. 选择任意位置信息即可;例如获取InnerPosition的值,代码中加入subplot('position', [0.05125, 0.301615, 0.313125, 0.367274]);即可。

  5. 完整代码如下:

 	h1 = figure(n);
    set(h1, 'Position', [10, 10, 1600, 900]);  % 设置图框大小
    subplot(2, 3, 1);
    subplot('position', [0.05125, 0.301615, 0.313125, 0.367274]); % 该子图在图框的位置
    plot(T, 1e9*squeeze(Strain(n, 1, :)), 'linewidth', 1.5);
    hold on; plot([T(a1), T(a1)], [top, dow], 'k-.')
    hold on; plot([T(b1), T(b1)], [top, dow], 'k-.')
    hold on; plot([T(a), T(a)], [top, dow], 'r-.')
    hold on; plot([T(b), T(b)], [top, dow], 'r-.')
    xlabel('Time (s)', 'FontName', 'Times New Roman', 'FontSize', 14);
    ylabel('Strain (n\epsilon)', 'FontName', 'Times New Roman', 'FontSize', 14);
    set(gca, 'FontName', 'Times New Roman', 'FontSize', 14);

    subplot(2, 3, 2);
    subplot('position', [0.4102, 0.5250, 0.2128, 0.3412]); % 该子图在图框的位置
    plot(T*1e3, 1e9*squeeze(Strain(n, 1, :)), 'linewidth', 1.5);
    xlabel('Time (ms)', 'FontName', 'Times New Roman', 'FontSize', 14);
    ylabel('Strain (n\epsilon)', 'FontName', 'Times New Roman', 'FontSize', 14);
    set(gca, 'FontName', 'Times New Roman', 'FontSize', 14);
    xlim([cut1, cut1 + 250])
    subplot(2, 3, 5);
    subplot('position', [0.4108, 0.11, 0.2128, 0.3412]);% 该子图在图框的位置
    plot(T*1e3, 1e9*squeeze(Strain(n, 1, :)), 'linewidth', 1.5);
    hold on;
    plot(T*1e3, 1e9*squeeze(Strain(n, 1, :)), 'linewidth', 1.5);
    xlabel('Time (ms)', 'FontName', 'Times New Roman', 'FontSize', 14);
    ylabel('Strain (n\epsilon)', 'FontName', 'Times New Roman', 'FontSize', 14);
    set(gca, 'FontName', 'Times New Roman', 'FontSize', 14);
    xlim([cut2, cut2 + 250])


    subplot(2, 3, 3);
    subplot('position', [0.6897, 0.2527, 0.2822, 0.4684]); % 该子图在图框的位置
    loglog(Freq1, Psd1, 'linewidth', 1.5)

    hold on; loglog(Freq2, Psd2, 'linewidth', 1.5)
    hold on; plot(fs_Strain, squeeze(PsdStrain(n, 1, Near_fs)), 'c*')
    xlim([10, max(Freq)])
    text(fs_Strain+2, PsdStrain(n, 1, Near_fs), ['(', num2str(fs_Strain), 'Hz)'], 'color', 'c');
    xlabel('Frequency (Hz)', 'FontName', 'Times New Roman', 'FontSize', 14);
    ylabel('Power spectrum of strain (\epsilon/Hz^{1/2})', 'FontName', 'Times New Roman', 'FontSize', 14);
    %     legend('','')
    set(gca, 'FontName', 'Times New Roman', 'FontSize', 14);
    saveas(h1, [PlotsFolder, 'Noise', Files(n).name(1:end-8), '.png'], 'png');

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

在这里插入图片描述

三、 Matlab绘制小间距组合图方法

假设绘制2*2组合图,使用tiledlayout()函数。
Example

rn = 2;  % The number of rows
cn = 2;  % The number of columns
figure;
ha = tiledlayout(rn,cn,'TileSpacing','Compact','Padding','Compact');

X=[0	5	10	15	20 25 30 35];
Y=[11.6468	5.1099	3.326	2.3581	2.1535	1.9456	1.916	1.931;
11.364	5.0842	3.5273	2.5558	1.9321	1.8705	1.8567	1.8674;
12.1578	4.8974	3.1736	2.4388	1.9552	2.0668	1.8699	1.6778;
10.6016	5.0739	3.2126	2.3368	2.007	1.9236	1.8906	1.8702];

nexttile
plot(X,Y(1,:),'ko-','linewidth',linewidth1)
nexttile
plot(X,Y(2,:),'bo-','linewidth',linewidth1)
nexttile
plot(X,Y(3,:),'co-','linewidth',linewidth1)
nexttile
plot(X,Y(4,:),'ro-','linewidth',linewidth1)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

设置tiledlayout(?行数,?列数,'TileSpacing','Compact','Padding','Compact');后的间距实例

在这里插入图片描述
不做tiledlayout()设置时的间距示例:
在这里插入图片描述

四、设置图片不显示直接保存

set(0,'DefaultFigureVisible','on');
set(0,'DefaultFigureVisible','off');
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/96880
推荐阅读
相关标签
  

闽ICP备14008679号