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變量中了。