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
- 例子
- 在word中使用的时候,直接设置输出的图形尺寸为7cm,也就是word半个页面的大小。这样可以保证字体线条不失真
%%%%%%%%%%%%%%%%%%%%%% 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
另外还有一些常用的绘图关键词:
更多推荐
已为社区贡献1条内容
所有评论(0)