Matlab中图形窗口的大小、字体、axis等设置

来源:互联网 发布:怎么找数据 编辑:程序博客网 时间:2024/06/15 21:25

窗口的大小控制

快捷键

首先要了解的是Matlab是面向对象的。最高等级的对象是screen,它定义了figure可以用的最大szie。screen下面是figure。figue就是你画图的时候跳出来的那个新的对话窗口。如果figure变化,screen是不会跟着变化的。但screen变化的话,figure就要跟着变化了。figure下面是axes。axes是那个窗口里面你要画的东西。axes的大小和位置取决于figure,如果你放大缩小figure的大小的话,里面的图线也会跟着变化的。

  • 设置axis在figture中的边距
    • set (gca,'position',[0.1,0.1,0.8,0.8] );%设置坐标轴在figture中的边距,四个参数分别表示的是左边界,下边界,高度,宽度。
  • 设置figture窗口的形状(默认为近似正方形)
    • set(gcf,'unit','normalized','position',[0.2,0.2,0.64,0.32]); %其在屏幕上的显示,四个参数分别表示的是左边界,下边界,高度,宽度。
    • 例子:
      • figure
        set(gcf,'unit','normalized','position',[0.1,0.1,0.8,0.5]);%figture位置,最下角,宽高
        set (gca,'position',[0.1,0.1,0.8,0.8] );%axis位置,最下角,宽高
        x=1:0.1:10;
        y=sin(x);
        plot(x,y)
  • 无视屏幕尺寸,输出在word中适用的尺寸
    • 在word中使用的时候,直接设置输出的图形尺寸为7cm,也就是word半个页面的大小。这样可以保证字体线条不失真
      • 例子
        -set(gcf,'Position',[100 100 260 220]);
        set(gca,'Position',[.13 .17 .80 .74]);
        figure_FontSize=8;
        set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
        set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
        set(findobj('FontSize',10),'FontSize',figure_FontSize);
        set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);

        % set(gcf,’Position’,[100 100 260 220]);这句是设置绘图的大小,不需要到word里再调整大小。我给的参数,图的大小是7cm
        %set(gca,’Position’,[.13 .17 .80 .74]);这句是设置xy轴在图片中占的比例,可能需要自己微调。
        %figure_FontSize=8;
        %set(get(gca,’XLabel’),’FontSize’,figure_FontSize,’Vertical’,’top’);
        %set(get(gca,’YLabel’),’FontSize’,figure_FontSize,’Vertical’,’middle’);
        %set(findobj(‘FontSize’,10),’FontSize’,figure_FontSize);这4句是将字体大小改为8号字,在小图里很清晰
        %set(findobj(get(gca,’Children’),’LineWidth’,0.5),’LineWidth’,2);这句是将线宽改为2
%%%%%%%%%%%%%%%%%%%%%% plot your figure before%%%%%%%%%%%%%%%%%%%%%% figure resizeclose all;figurex=0:0.1:10; y=sin(x);plot(x,y,'b-')legend('sin');hold on;z = cos(x);plot(x,z,'r-')legend('cos');% set(gcf,'Position',[500 500 260 220]);%左下角位置,宽高,这里的260正好是7cm,适合半个word页面% set(gca,'Position',[.13 .17 .80 .74]); %同样应用是在画图到wordset(gcf,'unit','normalized','position',[0.1,0.25,0.8,0.5]); %采用相对值设置,相对屏幕set (gca,'position',[0.1,0.1,0.8,0.8] );figure_FontSize=8;set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');set(findobj('FontSize',10),'FontSize',figure_FontSize);set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1);xlab = xlabel('x轴');ylab = ylabel('y轴');set(ylab,'Rotation',0);title('图名');%%%%%%%%%%%%%%%%%%%%%%%%%%%%解释:% set(gcf,'Position',[100 100 260 220]);这句是设置绘图的大小,不需要到word里再调整大小。我给的参数,图的大小是7cm% set(gca,'Position',[.13 .17 .80 .74]);这句是设置xy轴在图片中占的比例,可能需要自己微调。% figure_FontSize=8;% set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');% set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');% set(findobj('FontSize',10),'FontSize',figure_FontSize);这4句是将字体大小改为8号字,在小图里很清晰% set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);这句是将线宽改为2

另外还有一些常用的绘图关键词:

0 0