zoukankan      html  css  js  c++  java
  • MATLAB画图之自定义图片大小

    解决问题:使用MATLABplot函数画图时弹出图片的大小和位置修改。

    MATLAB画图的几个概念:

    screen: 屏幕;

    figure: 弹出来的对话框;figure变化,screen不会变化;screen变化,figure不会变化;

    axes: figure 中的图像,axes的大小取决于figurefigure大小变化,axes大小也会变化;

    set(gcf, ……):figure大小和位置进行设置;

    set(gca, ……):axes大小和位置进行设置;

    一、自定义figure的大小和位置

    程序:

    clear;
    clc;
    close all;
    t = 0:0.001:10;
    y1 = sin(t);
     
    figure(1);
    plot(t,y1);

    程序运行结果:

    默认情况下,figure大致在screen的正中间,大致为一个方形(具体参数没有深究),如果我们想要自定义figure在screen的位置和大小,有两种方法可以实现。

    第一种方法:在声明figure时定义大小,将上述程序修改为:

    clear;
    clc;
    close all;
    t = 0:0.001:10;
    y1 = sin(t);
     
    figure('Units','centimeter','Position',[5 5 7 3.5]);
    plot(t,y1);

    其中'Units','centimeter' 用来定义单位;'Position',[5 5 7 3.5]用来定义位置。

    [5 5 7 3.5]表示为[x0 y0 width height]

    X0, y0: 表示figure左下角在screen中的位置,参考位置是screen左下角;

    Width, height: 表示figure的宽和高的大小。

    程序运行结果:

    第二种方法:使用set(gcf, ……)命令,将上述程序修改为:

    clear;
    clc;
    close all;
    t = 0:0.001:10;
    y1 = sin(t);
     
    figure(1);
    set(gcf,'Units','centimeter','Position',[5 5 7 3.5]); 
    plot(t,y1);

    单位和位置的定义方式同第一种方法,程序运行结果为:

    二、 自定义figure中图像的大小和位置

    使用set(gca, ……)指令,该指令设置的是图的坐标线axes的位置及大小,并不是坐标线标注的位置。

    将上述程序修改为:

    clear;
    clc;
    close all;
    t = 0:0.001:10;
    y1 = sin(t);
     
    figure(1);
    set(gcf,'Units','centimeter','Position',[5 5 7 3.5]); 
    set(gca,'position',[0.3,0.2,0.5,0.6]);
    plot(t,y1);
    

    该指令中的单位为相对值,其中0.3,0.2表示axes的左下角在figure中的距离为figure的宽度×0.3和figure的高度×0.2;

    0.5和0.6表示axes的宽度和高度分别为figure的宽度×0.5和figure的高度×0.6。

    程序运行结果为:

     

     

  • 相关阅读:
    看盘技巧及要点
    棉花价格持续走高带来阶段性投资机会
    2009430远光软件,美锦能源
    c#获取汉字首字母拼音
    Linq分组查询统计
    json序列化
    jquery 实现飘落效果
    python学习开始
    DOS命令大全 DOS常用代码全在这里
    Python包含以下方法:
  • 原文地址:https://www.cnblogs.com/pupilLZT/p/12542364.html
Copyright © 2011-2022 走看看