您的当前位置:首页正文

Matlab---绘图中坐标系显示设置

来源:画鸵萌宠网
Matlab---绘图中坐标系显⽰设置

Matlab绘图---坐标系显⽰设置【@wp20180507-20180511(week 5)】

⽬录:

⼀、设置坐标范围

⼆、修改坐标轴显⽰的刻度、密度、lable⽂字、位置等三、Matlab绘制出来的图像进⾏保存 正⽂:

⼀、 设置坐标范围

1) 函数axis():axis进⾏设置(对当前坐标轴进⾏设置)

如果是⼆维:axis([xmin xmax ymin ymax]) 设置x-y坐标指定的区间范围。xmin是x最⼩xmax是x最⼤,ymin,ymax分别是y最⼩,y最⼤⽐如,要改编x坐标axis([1 120000 -inf inf])如果改y坐标

axis([ -inf inf 1 120000])

当然,可以两个都改 -inf inf是正负⽆穷⼤

如果是三维:axis([xmin xmax ymin ymax zmin zmax]) 设置x-y-z坐标指定的区间范围。还要考虑到z坐标。⽰例如下:>> x = 1:10;

>> subplot(2,1,1) % 默认范围>> plot(x,x.^2)

>> subplot(2,1,2) % 设置x范围[0,12],y任意>> plot(x,x.^2,'r')>> axis([0 12,-inf,inf])

具体⽤法如下:

plot(x, y); // 画图后⽤axis函数设置坐标轴的范围

axis([xmin xmax ymin ymax]); % 设置坐标轴在指定的区间xmin、xmax 表⽰设置横坐标的最⼩最⼤值;ymin、ymax 表⽰设置纵坐标的最⼩最⼤值。

2) 函数set ():set函数进⾏设置(对指定的坐标轴进⾏设置)具体⽤法如下:

plot(x, y); // 画图后⽤set函数设置坐标轴的属性

set(handles,'xtick',0:100:2500) % handles可以指定具体坐标轴的句柄

功能:设置X轴坐标范围0到2500,显⽰间隔是100;

set(handles,'ytick',0:100:2500) % handles可以指定具体坐标轴的句柄功能:设置X轴坐标范围0到2500,显⽰间隔是100;

3) 函数xlim( )/ ylim ( )

使⽤⽅法: xlim([XMIN XMAX]) % sets the x limitsx轴上下限设定xlim([a,b]);y轴上下限设定ylim([a,b])

% set(gca,'xlim',[-20 20],'ylim',[-20 20]); 表⽰:设置当前图的横轴和纵轴的范围,lim就是limite的意思。也可以不⽤set设置,

⽽直接⽤函数xlim和ylim设置:xlim(gca,[-20,20]); ylim(gca,[-20,20]);也可以⽤函数axis设置:axis(gca,[-20,20,-20,20]) ,

gca是get hanlde to current axis(得到当前图的句柄)的意思,除set函数外,在以上函数中均可省略不写,默认就是gca。

4) 在⽣成的图中直接设置

figure右上⾓有⼀个图表,按下去后可以打开图像⾼级编辑菜单,然后在axis当中修改。直接在Figure Properties⾥⾯调节坐标轴的范围就OK了。

进⼊“显⽰绘图⼯具和停靠图形”界⾯后,选中坐标轴,在坐标轴的属性中有刻度属性,可以根据要求⾃⾏修改。

具体:plot()或者其他命令打开的figure⽂件中——Edit——Figure Properties——下⾯的Xlimits项就可以调节X轴范围,在X Label后⾯的Ticks选项⾥可以调节标尺的间距。同理可以调节Y轴的范围和你所谓的标尺。⽐如设置横轴范围0~100就是:xlim( [ 0, 100 ] );

⼆、 修改坐标轴显⽰的刻度、密度、lable⽂字、位置等如果想在该图像中显⽰X轴的部分刻度值,并且与现有坐标轴不同。1) 修改---显⽰刻度的位置与显⽰内容

xtick表⽰显⽰刻度的位置,可输⼊以下代码到matlab命令窗⼝中去:set(gca, ‘XTick’, [1 5 10]); %这⾥是只显⽰1,5,10三个刻度值。xticklabel表⽰显⽰的内容,输⼊以下代码:

set(gca, 'XTickLabel' ,{'a','b','c'}) ; %将上⾯的三个刻度值改为a,b,c。

类似,修改Y轴的刻度值,只需将XTick和XTickLabel改为YTick和YTickLabel。例,修改标注的字:

set(gca,'Xticklabel',{'xx','yy','zz'},'Yticklabel',{'aa','bb'});

改变坐标轴的显⽰数值,可以⽤:set(gca,'xtick',xtick,'xticklabel',xticklabel) ;

%gca为Get Current Axis的Handle,xtick为显⽰刻度的位置,xticklabel为显⽰的内容。

注意,gcf和gca:这⾥需要说明gcf表⽰的是整个图形,包括上⾯的⼯具栏等等;⽽gca只是代表了其中的坐标轴及内部的数据。

2) 修改---字体⼤⼩

在修改了标注之后,顺便还可以修改字体⼤⼩。set(gca,'Xtick',[0 20 40],'Ytick',[-0.25 0.25],'fontsize',20);

在Figure窗⼝⾥,通过Edit-Axes Properties....-Font-Font Size即可设置。set(gca,'FontSize',20); %只能同时改变x y轴显⽰的字体⼤⼩。set(get(gca,'YLabel'),'Fontsize',20) ; %是针对标注的⽽不是坐标刻度。

3) 修改---字体的⽅向使⽤格式:

set(gca,'XTickLabelRotation',45);

三、 Matlab绘制出来的图像进⾏保存这⾥借助第三⽅截图软件,略过!1) 直接另存为

在figure中使⽤菜单file——>saveas——>选择保存形式(fig,eps,jpeg,gif,png,bmp等)。缺点:另存为的图像清晰度有很⼤的牺牲。

2) 复制到剪贴板

在figure中使⽤菜单edit——>copy figure——>此时图像就复制到剪贴板了,我们可以借助其他软件(⽐如:绘图板)保存为需要的图⽚。

3) saveas命令格式

Matlab提供直接的saveas函数可以将指定figure中的图像或者simulink中的框图进⾏保存,相当于【⽂件】中的【另存为】% saveas(figure_handle,filename,fileformat)plot(1:10);

saveas(gcf,‘myfig.jpg’)对于,saveas的三个参数:

(1)图形句柄,如果图形窗⼝标题栏是“Figure 3”,则句柄就是3.(2)⽂件名。

(3)单引号字符串,指定存储格式。

例:saveas(gcf,['D:\\MATLAB7\\work','yanbao',num2str(k),'.jpg']);

4) print函数

print函数原本不是⽤来进⾏图像保存了,⽽是操作打印机的,但是这⾥我们可以借⽤下% print(figure_handle,fileformat,filename)x=-pi:2*pi/300:pi;y=sin(x);plot(x,y);

%Matlab根据⽂件扩展名,⾃动保存为相应格式图⽚,另外路径可以是绝对也可以是相对print(gcf,'-dpng','abc.png') %保存为png格式的图⽚到当前路径print的三个参数:

(1)图形句柄,如果图形窗⼝标题栏是“Figure 3”,则句柄就是3.(2)单引号字符串,指定存储格式。⽤gcf可以获取当前窗⼝句柄。png格式:'-dpng'。Jpeg格式: '-djpeg'。tiff格式:'-dtiff '。bmp格式: '-dbitmap'(3)⽂件名。例:

>> x=-pi:2*pi/300:pi;>> y=sin(x);>> plot(x,y);

>> print(gcf,'-dpng','abc.png') % 保存为png格式的图⽚。

>> figure(2) % 新建⼀个句柄为2的图形窗⼝。>> plot(x,cos(x)); % 在句柄为2的图形窗⼝上画图。>> grid

>> print(2,'-djpeg','C:\\abc.jpeg'); %将句柄为2的图形保存为jpeg/jpg格式的图⽚,⽂件名为'C:\\abc.jpeg'。

有时只有⼀个Matlab图像的fig⽂件,但没有该图像的相关坐标数据,如何获取fig图像的数据⽅法:1、将那个fig⽂件保存到Matlab的搜索路径下,双击打开它2、在Matlab的command中输⼊如下内容:h=get(gcf,'chidren')

data=get(h,{'xdata','ydata','zdata'})

%此时图形中所有图像的三维数据x,y,z将会以结构体的形式保存到data变量中了。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top