Matlab---繪圖中座標系顯示設置

Matlab繪圖---座標系顯示設置函數

【@wp20180507-20180511(week 5)】工具

目錄:字體

1、設置座標範圍orm

2、修改座標軸顯示的刻度、密度、lable文字、位置等圖片

3、Matlab繪製出來的圖像進行保存字符串

 

正文:get

1、        設置座標範圍it

1)        函數axis()axis進行設置(對當前座標軸進行設置)io

若是是二維:axis([xmin xmax ymin ymax])  設置x-y座標指定的區間範圍。form

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 limits

x軸上下限設定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 ] );

 

2、        修改座標軸顯示的刻度、密度、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);

 

3、        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圖像的數據方法:

一、將那個fig文件保存到Matlab的搜索路徑下,雙擊打開它

二、在Matlab的command中輸入以下內容:

h=get(gcf,'chidren')

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

%此時圖形中全部圖像的三維數據x,y,z將會以結構體的形式保存到data變量中了。

相關文章
相關標籤/搜索