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

窗口的大小控制

快捷键

首先要了解的是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 resize
close all;
figure
x=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]); %同样应用是在画图到word

set(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

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

  • 22
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值