matlab 绘图函数笔记

0、原理(不深究,可跳过)
matlab绘图分为figure和axis,object三级。请参考文档的 Accessing Object Handles一节。
一个figure即为一个窗口,可以使用figure命令新建窗口。
一个figure中可以包含若干个axis,一般情况下只包含一个。而使用subplot时则包含多个axis。新建axis 可以使用命令axes。


一个axis在一个figure中的 位置是如何确定的呢?可以参考文档的  Automatic Axes Resize 一节(含图例)。
简言之,分为绘图区,由属性Position确定;绘图区外面有显示坐标轴和文字的区域,大小由TightInset确定;此外,还允许有一定的margin,最终axis所占的位置及大小,由属性OuterPosition确定。也就是说,设置的postion属性应该满足在OuterPosition内。这些位置属性的单位由Units属性确定。
当然,这些一般由matlab自动确定,但是,当我们需要设置显示为固定大小时(比如精确控制图片的放大倍率),就需要程序控制了(可以结合xlim、ylim等命令)。




figure和axes的属性可以通过 getset命令读取、设置。
  • get(gcf)可以打印出当前窗口的所有属性;get(0)可以打印所有窗口的父类的属性。get(gca)可以打印出当前axes的所有属性
  • fiugre的属性请在matlab中输入命令 doc('Figure Properties'),第一个链接就是众多属性了
  • axes属性请参考 文档的  Axes Properties  页面



如下代码在一个figure中显示两个axes。


%参考自matlab的doc axes
hFig=figure;
hAxes1=axes('Parent',hFig);
hAxes2=axes('Parent',hFig);
set(hAxes1,'Position',[0 0 0.5 0.5])
set(hAxes2,'Position',[0.5 0.5 0.5 0.5])
axes(hAxes1);%将hAxes1设为当前axis,即gca
contour(peaks(20))
axes(hAxes2)
surf(peaks(20))










1、绘图函数
  • plot
  • plot3 三维绘图
  • loglog
  • semilogx
  • semilogy
  • quiver  绘制矢量场(带箭头方向)


  • fplot  绘制一个函数


  • stem 离散
  • bar 柱状图
  • hist 直方图


  • imshow 显示图片 
  •     设置图片显示的位置:  imshow(im,'Xdata',[200, size(im,2)+200-1], 'Ydata',[100, size(im,1)+100-1]);
  • imtool  简单的图片显示、编辑
  • imagesc(x,y,C)  在x、y处显示图片,(也可设置图片大小,具体看文档)


2、绘图属性
legend 显示图例的说明

xlim  坐标轴显示范围
ylim

axis xy  %设置坐标轴y方向从下到上!!使用imshow后默认是axis ij的,可以使用axis xy 调整回来!
也可以使用set(gca,'YDir','normal')
         set(gca,'YDir','reverse')

axis tight 将显示范围设置为刚好可以显示所画的数据

axis equal x、y轴的aspect ratio设为1。

view 视点




设置x轴显示的标签
set(gca,'XTickLabel',{'08-7-10 ';'08-7-30 ';'08-8-19 ';'08-9-8 ';'08-9-28 ';'08-10-18';'08-11-7 ';'08-11-27 '})

%自定义x轴显示间隔及标签
N=6;
XTick=[]; %标签显示的位置
XTickLabel={};%标签显示的字符串
for i=0:2:N
    XTick=[XTick i]; 
    label=['L' num2str(i)];%新建一个标签,string类型的
    XTickLabel=[XTickLabel label]; 
end
close all
figure1 = figure;  
axes1 = axes('Parent',figure1,'XTickLabel',XTickLabel,  'XTick',XTick,'FontSize',16);
xlim([-N N])


%% 设置colorbar的标签,演示get、 set的用法
c=colorbar; %获取当前的colormap
get(c,'ylim') % 当前colorbar的范围
set(c,'YTick',[0 128 255]); %设置colorbar的标签位置
set(c,'YTickLabel',{'a', 'b', 'c'}); %设置对应位置的标签


设置绘图属性
①、通过交互界面手动设置







②、通过代码设置
注:可以通过第一种方法手动调整后,再通过File->generate code生成代码
set(gca,'Color','b') %将背景设为蓝色,其他可用属性的查找方法见下图 


猜你喜欢

转载自cherishlc.iteye.com/blog/1329778
今日推荐