精华内容
下载资源
问答
  • matlab set函数

    千次阅读 2017-09-20 19:52:17
    1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。... set函数的调用格式为:  set(句柄,属性名1,属性值1,属性名2,属性值2,…) 例子: clear x=0:0.2:12

    1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-' 、':'、'-.'、'--'或'none'。
    2.属性的操作
        set函数的调用格式为:
        set(句柄,属性名1,属性值1,属性名2,属性值2,…)

    例子:

    clear
    x=0:0.2:12;
    y1=bessel(1,x);
    y2=bessel(2,x);
    y3=bessel(3,x);
    h=plot(x,y1,x,y2,x,y3);
    set(h,{'LineWidth'},{2;5;8}) %set(h,{'LineWidth'},{2})==set(h,'LineWidth',2),将所有线宽设置为2
    set(h,{'Color'},{'r';'g';'b'},{'LineStyle'},{'--';':';'-.'}) %设置颜色和线宽
    axis([0 12 -0.5 1]) %设置坐标轴范围
    grid on
    X=0:1:12;
    Y=-0.5:0.25:1;
    set(gca,'xtick',X,'ytick',Y) %设置网格的显示格式,gca获取当前figure的句柄
    set(xlabel('Time'),'FontSize',12,'Color','r')
    y=ylabel('Amplitude');
    set(y,'FontSize',12,'Color','g')
    legend(h,'First','Second','Third') %添加图例
    title('Bessel Functions') %添加标题
    [y,ix]=min(y1); %找到y1的最小值以及改值的下标,赋给y和ix
    text(x(ix),y,'First Min \rightarrow','HorizontalAlignment','right') %插入文本

    具体可改哪些属性值见贴
    http://blog.ednchina.com/xth543/218124/Message.aspx

    ---------------------------------------------------------------------------------------

    这两天在看句柄式图形方面的东西,以下是我在看书过程中整理的学习笔记,比较详细的介绍了句柄以及与其密切相关的各种图形对象和它们的属性。希望能对初学Matlab界面设计的朋友们有所帮助。

    GUI学习笔记:

    句柄式图形常用函数:
    (1)get(h)返回句柄值h所指定的图形对象的所有属性名称与相对应的属性值
    (2)a = get(h)返回由句柄值h所指定的图形对象的属性结构数组,并且该数组的字段名称就是该对象的属性名称。
    (3)a = get(0,'factory')返回所有能由用户设置的属性的默认定义值。
    (4)a = get(0,'FactoryObjectTypePropertyName1','FactoryObjectTypePropertyName2',...)返回指定对象类型指定的属性值,输入参数FactoryObjectTypePropertyName为一个关键词,由字符Factory与图形对象类型(如Figure)还有属性名称(如Color)组成。
    a = get(0,'factoryFigureColor')返回Figure对象的Color属性值。
    (5)a = get(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePropertyName1',...)返回句柄值为h的对象指定属性的默认值。如“DefaultFigureColor”。
    (6)a = get(h,'default')列出h对象的所有属性的默认属性值
    (7)a = set(h)返回句柄值h所指定的图形对象的所有属性名称对应的可设置属性值,a为结构数组,存储对象的属性名称,其字段值为相对应的属性值。属性值中用{}括起来的表示默认值。
    (8)set(h,a)使用指定的属性值来设置由句柄值h所指定的对象属性,a为结构数组,其字段名称为对象的属性名称,字段值为相对应的属性值。
    (9)a = set(0,'factory')返回那些用户可以设置默认值的所有对象的属性,同时显示可设置的属性值。
    (10)a=set(0,'FactoryObjectTypePropertyName')返回所有对象中指定的属性名称FactoryObjectTypePropertyName的所有可能的属性值。
    (11)a = set(h,'属性名','属性值')设置句柄值为h的对象的与属性名对应的属性值。
    (12)set(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePropertyName2',...)对句柄值为h的对象设置特定属性名称的属性默认值。
    (13)H = findobj;返回Root对象与其所有子对象的句柄值
    (14)H = findobj(h);返回h变量的句柄值
    (15)H = findobj(’属性名称‘,’属性值‘);依据对象的属性名称和属性值找出匹配的对象句柄值。
    (16)H = findobj(ObjectHandles,’属性名称‘,’属性值‘);根据限定的对象列表找出与对象的属性名称和属性值匹配的对象句柄值
    (17)gcf返回当前Figure对象的句柄值
    gca返回当前axes对象的句柄值
    gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的任意图形对象,并且Matlab会把当前图形对象的句柄值存放在Figure的CurrentObject属性中

    Figure对象的属性篇
    (1).^是矩阵每个元素的幂乘,^是数的幂乘。
    (2)set(handle)列出句柄值为handle的对象的所有属性
    get(handle)除列出上述属性外,还列出可以设置的属性
    reset(handle)将所有属性改为默认值
    delete(handle)删除句柄值为handle的图形对象
    (3)利用set(handle,‘属性名称’)获得句柄值为handle的对象的属性名称下所有可设置的属性值
    set(gcf,'units):得到[ inches | centimeters | normalized | points | {pixels} | characters ],其中,大括号中是默认值
    (4)clf reset;将窗口关闭,并重新设置其属性为默认值。
    (5)Closerequestfcn,有效值为字符串或函数句柄(前加@)
    当关闭绘图窗口或离开Matlab时,就会定义Closerequestfcn定义的函数
    (6)createfcn,当Matlab建立一个对象时(如为figure对象,即打开一个绘图窗口),就会触发createfcn所定义的callback程序。如set(0,'defaultfigurecreatefcn','set(gcbo,''integerhandle'',''off'')');即设置了根对象的默认值,使每次建立figure对象时,都会指定一个非整数的句柄值。(在用户未指定句柄值时)
    (7)将当前窗口中在键盘上按下的按键名显示出来。
    set(gcf,'keypressfcn','get(gcf,''currentcharacter'')')
    (8)color有效值为colorspec
    colorspec表:
    RGB 简称
    [110] y_yellow
    [101] m_magenta
    [011] c_cyan
    [100] r_red
    [010] g_green
    [001] b_blue
    [111] w_white
    [000] k_black
    (9)linspace(a,b,c):a初始b结束c线性分段次数linspace(a,b)则默认100次
    (10)CurrentObject:有效值为图形对象句柄值:返回绘图窗口内当前被鼠标选取的对象的句柄值
    (11)currentPoint:有效值[x-坐标,Y-坐标]返回绘图窗口中最后单击鼠标的位置,用get(gcf,'currentpoint')就会返回当前在窗口中单击鼠标的位置
    (12)DeleteFcn:有效值:字符串或函数句柄,删除对象(这里为figure)时会触发Deletefcn所定义的Callback程序。
    (13)Dockcontrols:有效值为on/off,默认值on,控制窗口的嵌入效果是否可用。
    (14)Hittest:有效值on/off,决定能否用鼠标选取对象为当前对象。
    (15)Integerhandle:有效值on/off,决定Figure对象句柄值的类型为整数或浮点小数。
    (16)Interruptible:有效值on/off,执行过程中需要中断程序而优先执行其他程序时要设该属性为on。即Interrupptible属性是用以控制当Callback执行时是否能被其他事件(如此时鼠标按下其他控制对象)而中断,on是会中断,off时会执行完当前Callback,再去执行其他Callback。
    (17)Keypressfcn:有效值为字串或函数句柄。当用户在figure窗口中按下键盘的任意键时,就会执行Keypressfcn所定义的Callback程序。
    figure('keypressfcn','fprintf(''当前按下键盘上的%c键\n'',get(gcf,''currentcharacter''))')在这个figure窗口中按下键盘上的按键时就会立即返回对应的字符,依据这个效果就可以决定当字符键被按下时所要执行的操作。
    当这个属性指定的值是一个函数句柄时,Matlab就会将这个函数视为一个结构,包含下列字段——character(以当前键盘上按下的按键显示的字符来当作结果),modifier(包含一个或多个识别键盘上按下按键字符名称的细胞数组(如Ctrl,Alt,Shift等),key(显示被按下的键)。
    (18)WindowButtonDownFcn:有效值为字符串或函数句柄
    当鼠标在绘图窗口内按下鼠标任意键时,将触发WindowButtonDownFcn所定义的Callback以产生相对应的操作。
    (19)WindowButtonMotionFcn:有效值为字符串或函数句柄
    当鼠标在绘图窗口内按住鼠标任意键移动,将触发WindowButtonMotionFcn所定义的Callback以产生相对应的操作。
    (20)WindowButtonUpFcn:有效值为字符串或函数句柄
    当鼠标在绘图窗口内释放鼠标任意键时,将触发WindowButtonUpFcn所定义的Callback以产生相对应的操作。
    (21)CurrentAxes有效值为当前坐标轴的句柄值,返回当前的坐标轴句柄值。假设某坐标轴句柄值为a_h,可以使用axes(a_h)或set(gcf,'currentaxes',a_h)这两种方式,制定句柄值为a_h的坐标轴为当前坐标轴。
    (22)CurrentCharacter:有效值为任意字符,返回用户在绘图窗口中最后输入的一个字符,即刚在键盘上按下的字符键将存储到Currentcharacter中,一般于Keyppressfcn合用。
    (23)Currentobject有效值为图形对象的句柄值,返回绘图窗口内当前被鼠标选取的对象的句柄值。
    (24)有效值为两元素的向量,[X坐标,Y坐标]
    返回绘图窗口中最后单击鼠标的位置,与Windowbuttonmotionfcn,Windowbuttonupfcn合用。使用get(gcf,'currentpoint')就会返回当前在窗口中单击鼠标的位置。

    Axes对象的属性
    (1)title('new','color','r');给坐标轴命名为new,红色
    title({'this title','has 2 '});命名为两行的标题
    (2)Units:有效值为pixels/normalized/inches/centimeters/points/characters
    决定各种位置属性的度量单位,相对于窗口左下角为基准。当设置为Pixels时,以像素为单位;当设置为normalized时,以坐标为单位,屏幕的左下角为[0,0],右上角为[1.0,1.0]。
    (3)grid on:在图像中显示网格。
    (4)children:控制axes对象的子对象,即image\light\line\patch\rectangle\surface和text等对象,可通过get(gca,'children')来返回当前坐标轴的子对象构成的句柄值向量。
    (5)字体属性:
    Fontangle字体角度(正常normal或斜体italic/oblique)
    Fontname字体名称
    fontsize字体大小(单位由Fontunits决定)
    fontunits字体单位(points/normalized/inches/centimeters/pixels)
    fontweight字体粗细(normal/bold/light/demi)
    gridlinestyle决定坐标轴网格线的样式,‘-’为实线‘- -’为虚线‘:’为点线‘-.’为点虚线
    plot(1:10);grid on;set(gca,'gridlinestyle','-.');将当前坐标轴显示的网格线为点-虚线
    (6)linewidth 定义X,Y和Z轴的轴线宽度(以点单位定义)
    (7)NextPlot:有效值为add|replace|replacechildren,默认为replace
    add表示使用当前的坐标轴,把新的图形对象加到此坐标轴中是一般保留的做法,replace表示重新设置坐标轴的所有属性(Position除外),也就是在绘图前会删除当前坐标轴和它的子对象。replacechildren表示移除当前坐标轴中所有子对象,但不重新设置坐标轴的所有属性
    (8)Outerposition决定坐标轴外边界的位置。由位置向量[left,bottom,width,height]组成,其中left,bottom表示相对于绘图窗口左下角的位置,width,height表示区域尺寸,默认为[0 0 1 1]
    (9)Position由位置向量[left,bottom,width,height]组成,决定坐标轴位置
    (10)Tag定义本坐标轴的卷展栏,因为每一个对象都有自己唯一的识别码即tag,以方便findobj函数查找坐标轴句柄值。
    (11)visible决定坐标轴是否可见
    (12)set(gca,'xgrid','on')绘制X轴垂直网格线
    set(gca,'gridlinestyle',':','linewidth',3)设置网格线线条类型和宽度
    set(gca,'box','on')将图轴方框绘制出来
    (13)set(gca,'xscale','linear');将X轴刻度设为线性
    set(gca,'yscale','log');将Y轴刻度设为对数
    (14)disp()显示一个数组,但不显示其数组名称
    disp(' Corn Oats Hay')
    disp(rand(5,3))
    which results in
    Corn Oats Hay
    0.2113 0.8474 0.2749
    0.0820 0.4524 0.8807
    0.7599 0.8075 0.6538
    0.0087 0.4832 0.4899
    0.8096 0.6135 0.7741

    Pause:pause, by itself, causes M-files to stop and wait for you to press any key before continuing.

    实例:plot(1:10);set(gca,'yscale','log');
    disp('请按下Enter键');
    pause
    set(gca,'Yscale','linear');本例是说按下Enter键将Y轴刻度由对数改为线性。
    (16)Xtick,Ytick,Ztick:控制X,Y,Z轴坐标刻度记号的位置,即控制坐标轴上刻度记号的位置以及每隔多少值会到下一个刻度记号的位置,同时还需要配合Xticklabel、Yticklabel、Zticklabel属性来调整。详细见例程。
    以下设置方式相同:
    set(gca,'Xticklabel',{'1';'10';'100'})
    set(gca,'Xticklabel','1|10|100')
    set(gca,'Xticklabel',[1;10;100])
    set(gca,'Xticklabel',['1 ';'10 ';'100'])
    (17)Findobj:查找

    Line对象
    当用户建立一个线对象时,就会触发Createfcn所定义的Callback产生相对应的操作;同样,若删除一个线对象时,就会触发DeleteFcn所定义的Callback产生相对应的操作。以下程序建立一个线对象,并设置DeleteFcn为一个问题对话框,当删除该线对象时,就会显示其问题对话框来询问用户。
    (1) clipping:有效值为on/off,默认值为on
    设置坐标轴土筐是否可以剪辑,如果设为off,则绘制线对象时可超出坐标轴的图框。
    (2)Linewidth:有效值为纯量(与向量相对,只有大小而无方向),点为单位。
    (3)Marker:有效值为字符,决定Line对象的记号类型,有+,o,*,.,x,s,d,等
    (4)Markersize:有效值为纯量,单位为点,Marker的大小。
    (5)UIcontextmenu:有效值为uicontextmenu对象的句柄值,定义与线对象相关联的uicontextmenu菜单,因此当用户将该线对象的属性UicontextMenu设置为相关联的uicontextmenu对象的Tag名称时,uicontextmenu就可以在该线对象上单击鼠标右键来显示uicontextmenu菜单。
    (6)Tag:有效值为字符串,定义改线对象的卷展栏(即标记)
    (7)Type:有效值为字符串(只读),此处为’line‘字符串。
    (8)Xdata,Ydata,Zdata:有效值为坐标数组,指定产生线条的数据点,若为2D环境则Xdata、Ydata需要有相同数目的数据,而Zdata为空矩阵;3D环境则Xdata,Ydata,Zdata三者都需要有相同数目的数据。
    例:x=0:5,y=x+10;line('xdata',x,'ydata',y);

    Patch对象
    patch函数不想其他高级区域建立函数(fill和area),只是简单地将patch对象添加到当前坐标轴中而已。
    使用:patch(X,Y,C)
    在当前的坐标轴中添加二维填充的patch对象,X和Y用以定义patch对象顶点的位置,若X,Y为矩阵,则Matlab按每一行的元素来产生多个多边形。
    例:x = [0 0;0 1;1 1];
    y = [1 1;2 2;2 1];
    z = [1 1;1 1;1 1];(x(1,1),y(1,1),z(1,1)为第一个面的第一个顶点,x(2,1),y(2,1),z(2,1)为第一个面的第二个顶点,以此类推)
    tcolor(1,1,1:3) = [1 1 1];
    tcolor(1,2,1:3) = [.7 .7 .7];
    patch(x,y,z,tcolor);(tcolor是一个1*2*3的三维矩阵)

    Surface对象
    surface可以建立一个surface对象,surface是由矩阵数据所在的列索引值为X坐标,而行索引值为Y坐标,并且矩阵的每个元素值为Z坐标。

    image对象
    image(C)将矩阵C当作一个图像来显示,C的每一个元素定义一个图像中矩阵线段的颜色。
    image(x,y,C)其中x与y为2元素的向量,分别指定X轴与Y轴卷展轴的范围。C为图像矩阵。

    text对象
    (1)text(x坐标,y坐标,'string')在图形中指定位置(x,y)显示字符串string。
    (2)Editing有效值为on/off,off时,用户在执行GUI操作时无法直接在该Text对象上进行编辑,改为on后,可以进行编辑。
    (3)HorizontalAlign 有效值为left/center/right决定Text对象中字符水平方向的对齐方式。
    (4)Interpreter有效值为tex/none,决定Text对象中是否可用Tex字符注释,当设置为Tex时,表示允许用户能够在String属性下输入Tex字符。以下为在窗口的 [.5 .5]点位置处建立一个text对象并且字体大小以16点来表示的一个方程式。(显示的是一个二重积分)
    text('interpreter','latex','string','

    x0ydF(u,v)
    ','position',[.5 .5],'fontsize',16)
    (5)String有效值为字符串,表示要显示出来的字符串是什么。
    (6)verticalAlignme 有效值为top/cap/middle/baseline/bottom决定Text对象垂直对齐的方式。

    下面加载一个例子,是ilovematlab论坛一个斑竹的回复
    x=0:0.5:10;
    >> y1=sin(x);
    >> y2=cos(x);
    >> plot(x,y1,'r',x,y2,'g')
    >> findobj(gca,'color','r')

    不想要的曲线直接delete句柄就可以了

    ---------------------------------------------------------------------------------------

     

    gcf 是返回当前被激活的窗口的图形对象的句柄。你可以认为它就指代当前窗口。
    figure(gcf)打开这个窗口。

    gca返回当前axes对象的句柄值
    gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的任意图形对象,并且Matlab会把当前图形对象的句柄值存放在Figure的CurrentObject属性中

    Figure对象的属性篇

    1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-' 、':'、'-.'、'--'或'none'。
    2.属性的操作
        set函数的调用格式为:
        set(句柄,属性名1,属性值1,属性名2,属性值2,…)

    例子:

    clear
    x=0:0.2:12;
    y1=bessel(1,x);
    y2=bessel(2,x);
    y3=bessel(3,x);
    h=plot(x,y1,x,y2,x,y3);
    set(h,{'LineWidth'},{2;5;8}) %set(h,{'LineWidth'},{2})==set(h,'LineWidth',2),将所有线宽设置为2
    set(h,{'Color'},{'r';'g';'b'},{'LineStyle'},{'--';':';'-.'}) %设置颜色和线宽
    axis([0 12 -0.5 1]) %设置坐标轴范围
    grid on
    X=0:1:12;
    Y=-0.5:0.25:1;
    set(gca,'xtick',X,'ytick',Y) %设置网格的显示格式,gca获取当前figure的句柄
    set(xlabel('Time'),'FontSize',12,'Color','r')
    y=ylabel('Amplitude');
    set(y,'FontSize',12,'Color','g')
    legend(h,'First','Second','Third') %添加图例
    title('Bessel Functions') %添加标题
    [y,ix]=min(y1); %找到y1的最小值以及改值的下标,赋给y和ix
    text(x(ix),y,'First Min \rightarrow','HorizontalAlignment','right') %插入文本

    具体可改哪些属性值见贴
    http://blog.ednchina.com/xth543/218124/Message.aspx

    ---------------------------------------------------------------------------------------

    这两天在看句柄式图形方面的东西,以下是我在看书过程中整理的学习笔记,比较详细的介绍了句柄以及与其密切相关的各种图形对象和它们的属性。希望能对初学Matlab界面设计的朋友们有所帮助。

    GUI学习笔记:

    句柄式图形常用函数:
    (1)get(h)返回句柄值h所指定的图形对象的所有属性名称与相对应的属性值
    (2)a = get(h)返回由句柄值h所指定的图形对象的属性结构数组,并且该数组的字段名称就是该对象的属性名称。
    (3)a = get(0,'factory')返回所有能由用户设置的属性的默认定义值。
    (4)a = get(0,'FactoryObjectTypePropertyName1','FactoryObjectTypePropertyName2',...)返回指定对象类型指定的属性值,输入参数FactoryObjectTypePropertyName为一个关键词,由字符Factory与图形对象类型(如Figure)还有属性名称(如Color)组成。
    a = get(0,'factoryFigureColor')返回Figure对象的Color属性值。
    (5)a = get(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePropertyName1',...)返回句柄值为h的对象指定属性的默认值。如“DefaultFigureColor”。
    (6)a = get(h,'default')列出h对象的所有属性的默认属性值
    (7)a = set(h)返回句柄值h所指定的图形对象的所有属性名称对应的可设置属性值,a为结构数组,存储对象的属性名称,其字段值为相对应的属性值。属性值中用{}括起来的表示默认值。
    (8)set(h,a)使用指定的属性值来设置由句柄值h所指定的对象属性,a为结构数组,其字段名称为对象的属性名称,字段值为相对应的属性值。
    (9)a = set(0,'factory')返回那些用户可以设置默认值的所有对象的属性,同时显示可设置的属性值。
    (10)a=set(0,'FactoryObjectTypePropertyName')返回所有对象中指定的属性名称FactoryObjectTypePropertyName的所有可能的属性值。
    (11)a = set(h,'属性名','属性值')设置句柄值为h的对象的与属性名对应的属性值。
    (12)set(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePropertyName2',...)对句柄值为h的对象设置特定属性名称的属性默认值。
    (13)H = findobj;返回Root对象与其所有子对象的句柄值
    (14)H = findobj(h);返回h变量的句柄值
    (15)H = findobj(’属性名称‘,’属性值‘);依据对象的属性名称和属性值找出匹配的对象句柄值。
    (16)H = findobj(ObjectHandles,’属性名称‘,’属性值‘);根据限定的对象列表找出与对象的属性名称和属性值匹配的对象句柄值
    (17)gcf返回当前Figure对象的句柄值
    gca返回当前axes对象的句柄值
    gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的任意图形对象,并且Matlab会把当前图形对象的句柄值存放在Figure的CurrentObject属性中

    Figure对象的属性篇
    (1).^是矩阵每个元素的幂乘,^是数的幂乘。
    (2)set(handle)列出句柄值为handle的对象的所有属性
    get(handle)除列出上述属性外,还列出可以设置的属性
    reset(handle)将所有属性改为默认值
    delete(handle)删除句柄值为handle的图形对象
    (3)利用set(handle,‘属性名称’)获得句柄值为handle的对象的属性名称下所有可设置的属性值
    set(gcf,'units):得到[ inches | centimeters | normalized | points | {pixels} | characters ],其中,大括号中是默认值
    (4)clf reset;将窗口关闭,并重新设置其属性为默认值。
    (5)Closerequestfcn,有效值为字符串或函数句柄(前加@)
    当关闭绘图窗口或离开Matlab时,就会定义Closerequestfcn定义的函数
    (6)createfcn,当Matlab建立一个对象时(如为figure对象,即打开一个绘图窗口),就会触发createfcn所定义的callback程序。如set(0,'defaultfigurecreatefcn','set(gcbo,''integerhandle'',''off'')');即设置了根对象的默认值,使每次建立figure对象时,都会指定一个非整数的句柄值。(在用户未指定句柄值时)
    (7)将当前窗口中在键盘上按下的按键名显示出来。
    set(gcf,'keypressfcn','get(gcf,''currentcharacter'')')
    (8)color有效值为colorspec
    colorspec表:
    RGB 简称
    [110] y_yellow
    [101] m_magenta
    [011] c_cyan
    [100] r_red
    [010] g_green
    [001] b_blue
    [111] w_white
    [000] k_black
    (9)linspace(a,b,c):a初始b结束c线性分段次数linspace(a,b)则默认100次
    (10)CurrentObject:有效值为图形对象句柄值:返回绘图窗口内当前被鼠标选取的对象的句柄值
    (11)currentPoint:有效值[x-坐标,Y-坐标]返回绘图窗口中最后单击鼠标的位置,用get(gcf,'currentpoint')就会返回当前在窗口中单击鼠标的位置
    (12)DeleteFcn:有效值:字符串或函数句柄,删除对象(这里为figure)时会触发Deletefcn所定义的Callback程序。
    (13)Dockcontrols:有效值为on/off,默认值on,控制窗口的嵌入效果是否可用。
    (14)Hittest:有效值on/off,决定能否用鼠标选取对象为当前对象。
    (15)Integerhandle:有效值on/off,决定Figure对象句柄值的类型为整数或浮点小数。
    (16)Interruptible:有效值on/off,执行过程中需要中断程序而优先执行其他程序时要设该属性为on。即Interrupptible属性是用以控制当Callback执行时是否能被其他事件(如此时鼠标按下其他控制对象)而中断,on是会中断,off时会执行完当前Callback,再去执行其他Callback。
    (17)Keypressfcn:有效值为字串或函数句柄。当用户在figure窗口中按下键盘的任意键时,就会执行Keypressfcn所定义的Callback程序。
    figure('keypressfcn','fprintf(''当前按下键盘上的%c键\n'',get(gcf,''currentcharacter''))')在这个figure窗口中按下键盘上的按键时就会立即返回对应的字符,依据这个效果就可以决定当字符键被按下时所要执行的操作。
    当这个属性指定的值是一个函数句柄时,Matlab就会将这个函数视为一个结构,包含下列字段——character(以当前键盘上按下的按键显示的字符来当作结果),modifier(包含一个或多个识别键盘上按下按键字符名称的细胞数组(如Ctrl,Alt,Shift等),key(显示被按下的键)。
    (18)WindowButtonDownFcn:有效值为字符串或函数句柄
    当鼠标在绘图窗口内按下鼠标任意键时,将触发WindowButtonDownFcn所定义的Callback以产生相对应的操作。
    (19)WindowButtonMotionFcn:有效值为字符串或函数句柄
    当鼠标在绘图窗口内按住鼠标任意键移动,将触发WindowButtonMotionFcn所定义的Callback以产生相对应的操作。
    (20)WindowButtonUpFcn:有效值为字符串或函数句柄
    当鼠标在绘图窗口内释放鼠标任意键时,将触发WindowButtonUpFcn所定义的Callback以产生相对应的操作。
    (21)CurrentAxes有效值为当前坐标轴的句柄值,返回当前的坐标轴句柄值。假设某坐标轴句柄值为a_h,可以使用axes(a_h)或set(gcf,'currentaxes',a_h)这两种方式,制定句柄值为a_h的坐标轴为当前坐标轴。
    (22)CurrentCharacter:有效值为任意字符,返回用户在绘图窗口中最后输入的一个字符,即刚在键盘上按下的字符键将存储到Currentcharacter中,一般于Keyppressfcn合用。
    (23)Currentobject有效值为图形对象的句柄值,返回绘图窗口内当前被鼠标选取的对象的句柄值。
    (24)有效值为两元素的向量,[X坐标,Y坐标]
    返回绘图窗口中最后单击鼠标的位置,与Windowbuttonmotionfcn,Windowbuttonupfcn合用。使用get(gcf,'currentpoint')就会返回当前在窗口中单击鼠标的位置。

    Axes对象的属性
    (1)title('new','color','r');给坐标轴命名为new,红色
    title({'this title','has 2 '});命名为两行的标题
    (2)Units:有效值为pixels/normalized/inches/centimeters/points/characters
    决定各种位置属性的度量单位,相对于窗口左下角为基准。当设置为Pixels时,以像素为单位;当设置为normalized时,以坐标为单位,屏幕的左下角为[0,0],右上角为[1.0,1.0]。
    (3)grid on:在图像中显示网格。
    (4)children:控制axes对象的子对象,即image\light\line\patch\rectangle\surface和text等对象,可通过get(gca,'children')来返回当前坐标轴的子对象构成的句柄值向量。
    (5)字体属性:
    Fontangle字体角度(正常normal或斜体italic/oblique)
    Fontname字体名称
    fontsize字体大小(单位由Fontunits决定)
    fontunits字体单位(points/normalized/inches/centimeters/pixels)
    fontweight字体粗细(normal/bold/light/demi)
    gridlinestyle决定坐标轴网格线的样式,‘-’为实线‘- -’为虚线‘:’为点线‘-.’为点虚线
    plot(1:10);grid on;set(gca,'gridlinestyle','-.');将当前坐标轴显示的网格线为点-虚线
    (6)linewidth 定义X,Y和Z轴的轴线宽度(以点单位定义)
    (7)NextPlot:有效值为add|replace|replacechildren,默认为replace
    add表示使用当前的坐标轴,把新的图形对象加到此坐标轴中是一般保留的做法,replace表示重新设置坐标轴的所有属性(Position除外),也就是在绘图前会删除当前坐标轴和它的子对象。replacechildren表示移除当前坐标轴中所有子对象,但不重新设置坐标轴的所有属性
    (8)Outerposition决定坐标轴外边界的位置。由位置向量[left,bottom,width,height]组成,其中left,bottom表示相对于绘图窗口左下角的位置,width,height表示区域尺寸,默认为[0 0 1 1]
    (9)Position由位置向量[left,bottom,width,height]组成,决定坐标轴位置
    (10)Tag定义本坐标轴的卷展栏,因为每一个对象都有自己唯一的识别码即tag,以方便findobj函数查找坐标轴句柄值。
    (11)visible决定坐标轴是否可见
    (12)set(gca,'xgrid','on')绘制X轴垂直网格线
    set(gca,'gridlinestyle',':','linewidth',3)设置网格线线条类型和宽度
    set(gca,'box','on')将图轴方框绘制出来
    (13)set(gca,'xscale','linear');将X轴刻度设为线性
    set(gca,'yscale','log');将Y轴刻度设为对数
    (14)disp()显示一个数组,但不显示其数组名称
    disp(' Corn Oats Hay')
    disp(rand(5,3))
    which results in
    Corn Oats Hay
    0.2113 0.8474 0.2749
    0.0820 0.4524 0.8807
    0.7599 0.8075 0.6538
    0.0087 0.4832 0.4899
    0.8096 0.6135 0.7741

    Pause:pause, by itself, causes M-files to stop and wait for you to press any key before continuing.

    实例:plot(1:10);set(gca,'yscale','log');
    disp('请按下Enter键');
    pause
    set(gca,'Yscale','linear');本例是说按下Enter键将Y轴刻度由对数改为线性。
    (16)Xtick,Ytick,Ztick:控制X,Y,Z轴坐标刻度记号的位置,即控制坐标轴上刻度记号的位置以及每隔多少值会到下一个刻度记号的位置,同时还需要配合Xticklabel、Yticklabel、Zticklabel属性来调整。详细见例程。
    以下设置方式相同:
    set(gca,'Xticklabel',{'1';'10';'100'})
    set(gca,'Xticklabel','1|10|100')
    set(gca,'Xticklabel',[1;10;100])
    set(gca,'Xticklabel',['1 ';'10 ';'100'])
    (17)Findobj:查找

    Line对象
    当用户建立一个线对象时,就会触发Createfcn所定义的Callback产生相对应的操作;同样,若删除一个线对象时,就会触发DeleteFcn所定义的Callback产生相对应的操作。以下程序建立一个线对象,并设置DeleteFcn为一个问题对话框,当删除该线对象时,就会显示其问题对话框来询问用户。
    (1) clipping:有效值为on/off,默认值为on
    设置坐标轴土筐是否可以剪辑,如果设为off,则绘制线对象时可超出坐标轴的图框。
    (2)Linewidth:有效值为纯量(与向量相对,只有大小而无方向),点为单位。
    (3)Marker:有效值为字符,决定Line对象的记号类型,有+,o,*,.,x,s,d,等
    (4)Markersize:有效值为纯量,单位为点,Marker的大小。
    (5)UIcontextmenu:有效值为uicontextmenu对象的句柄值,定义与线对象相关联的uicontextmenu菜单,因此当用户将该线对象的属性UicontextMenu设置为相关联的uicontextmenu对象的Tag名称时,uicontextmenu就可以在该线对象上单击鼠标右键来显示uicontextmenu菜单。
    (6)Tag:有效值为字符串,定义改线对象的卷展栏(即标记)
    (7)Type:有效值为字符串(只读),此处为’line‘字符串。
    (8)Xdata,Ydata,Zdata:有效值为坐标数组,指定产生线条的数据点,若为2D环境则Xdata、Ydata需要有相同数目的数据,而Zdata为空矩阵;3D环境则Xdata,Ydata,Zdata三者都需要有相同数目的数据。
    例:x=0:5,y=x+10;line('xdata',x,'ydata',y);

    Patch对象
    patch函数不想其他高级区域建立函数(fill和area),只是简单地将patch对象添加到当前坐标轴中而已。
    使用:patch(X,Y,C)
    在当前的坐标轴中添加二维填充的patch对象,X和Y用以定义patch对象顶点的位置,若X,Y为矩阵,则Matlab按每一行的元素来产生多个多边形。
    例:x = [0 0;0 1;1 1];
    y = [1 1;2 2;2 1];
    z = [1 1;1 1;1 1];(x(1,1),y(1,1),z(1,1)为第一个面的第一个顶点,x(2,1),y(2,1),z(2,1)为第一个面的第二个顶点,以此类推)
    tcolor(1,1,1:3) = [1 1 1];
    tcolor(1,2,1:3) = [.7 .7 .7];
    patch(x,y,z,tcolor);(tcolor是一个1*2*3的三维矩阵)

    Surface对象
    surface可以建立一个surface对象,surface是由矩阵数据所在的列索引值为X坐标,而行索引值为Y坐标,并且矩阵的每个元素值为Z坐标。

    image对象
    image(C)将矩阵C当作一个图像来显示,C的每一个元素定义一个图像中矩阵线段的颜色。
    image(x,y,C)其中x与y为2元素的向量,分别指定X轴与Y轴卷展轴的范围。C为图像矩阵。

    text对象
    (1)text(x坐标,y坐标,'string')在图形中指定位置(x,y)显示字符串string。
    (2)Editing有效值为on/off,off时,用户在执行GUI操作时无法直接在该Text对象上进行编辑,改为on后,可以进行编辑。
    (3)HorizontalAlign 有效值为left/center/right决定Text对象中字符水平方向的对齐方式。
    (4)Interpreter有效值为tex/none,决定Text对象中是否可用Tex字符注释,当设置为Tex时,表示允许用户能够在String属性下输入Tex字符。以下为在窗口的 [.5 .5]点位置处建立一个text对象并且字体大小以16点来表示的一个方程式。(显示的是一个二重积分)
    text('interpreter','latex','string','

    x0ydF(u,v)
    ','position',[.5 .5],'fontsize',16)
    (5)String有效值为字符串,表示要显示出来的字符串是什么。
    (6)verticalAlignme 有效值为top/cap/middle/baseline/bottom决定Text对象垂直对齐的方式。

    下面加载一个例子,是ilovematlab论坛一个斑竹的回复
    x=0:0.5:10;
    >> y1=sin(x);
    >> y2=cos(x);
    >> plot(x,y1,'r',x,y2,'g')
    >> findobj(gca,'color','r')

    不想要的曲线直接delete句柄就可以了

    ---------------------------------------------------------------------------------------

     

    gcf 是返回当前被激活的窗口的图形对象的句柄。你可以认为它就指代当前窗口。
    figure(gcf)打开这个窗口。

    gca返回当前axes对象的句柄值
    gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的任意图形对象,并且Matlab会把当前图形对象的句柄值存放在Figure的CurrentObject属性中

    Figure对象的属性篇

    1.MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。例如,LineStyle是曲线对象的一个属性名,它的值决定着线型,取值可以是'-' 、':'、'-.'、'--'或'none'。
    2.属性的操作
        set函数的调用格式为:
        set(句柄,属性名1,属性值1,属性名2,属性值2,…)

    例子:

    clear
    x=0:0.2:12;
    y1=bessel(1,x);
    y2=bessel(2,x);
    y3=bessel(3,x);
    h=plot(x,y1,x,y2,x,y3);
    set(h,{'LineWidth'},{2;5;8}) %set(h,{'LineWidth'},{2})==set(h,'LineWidth',2),将所有线宽设置为2
    set(h,{'Color'},{'r';'g';'b'},{'LineStyle'},{'--';':';'-.'}) %设置颜色和线宽
    axis([0 12 -0.5 1]) %设置坐标轴范围
    grid on
    X=0:1:12;
    Y=-0.5:0.25:1;
    set(gca,'xtick',X,'ytick',Y) %设置网格的显示格式,gca获取当前figure的句柄
    set(xlabel('Time'),'FontSize',12,'Color','r')
    y=ylabel('Amplitude');
    set(y,'FontSize',12,'Color','g')
    legend(h,'First','Second','Third') %添加图例
    title('Bessel Functions') %添加标题
    [y,ix]=min(y1); %找到y1的最小值以及改值的下标,赋给y和ix
    text(x(ix),y,'First Min \rightarrow','HorizontalAlignment','right') %插入文本

    具体可改哪些属性值见贴
    http://blog.ednchina.com/xth543/218124/Message.aspx

    ---------------------------------------------------------------------------------------

    这两天在看句柄式图形方面的东西,以下是我在看书过程中整理的学习笔记,比较详细的介绍了句柄以及与其密切相关的各种图形对象和它们的属性。希望能对初学Matlab界面设计的朋友们有所帮助。

    GUI学习笔记:

    句柄式图形常用函数:
    (1)get(h)返回句柄值h所指定的图形对象的所有属性名称与相对应的属性值
    (2)a = get(h)返回由句柄值h所指定的图形对象的属性结构数组,并且该数组的字段名称就是该对象的属性名称。
    (3)a = get(0,'factory')返回所有能由用户设置的属性的默认定义值。
    (4)a = get(0,'FactoryObjectTypePropertyName1','FactoryObjectTypePropertyName2',...)返回指定对象类型指定的属性值,输入参数FactoryObjectTypePropertyName为一个关键词,由字符Factory与图形对象类型(如Figure)还有属性名称(如Color)组成。
    a = get(0,'factoryFigureColor')返回Figure对象的Color属性值。
    (5)a = get(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePropertyName1',...)返回句柄值为h的对象指定属性的默认值。如“DefaultFigureColor”。
    (6)a = get(h,'default')列出h对象的所有属性的默认属性值
    (7)a = set(h)返回句柄值h所指定的图形对象的所有属性名称对应的可设置属性值,a为结构数组,存储对象的属性名称,其字段值为相对应的属性值。属性值中用{}括起来的表示默认值。
    (8)set(h,a)使用指定的属性值来设置由句柄值h所指定的对象属性,a为结构数组,其字段名称为对象的属性名称,字段值为相对应的属性值。
    (9)a = set(0,'factory')返回那些用户可以设置默认值的所有对象的属性,同时显示可设置的属性值。
    (10)a=set(0,'FactoryObjectTypePropertyName')返回所有对象中指定的属性名称FactoryObjectTypePropertyName的所有可能的属性值。
    (11)a = set(h,'属性名','属性值')设置句柄值为h的对象的与属性名对应的属性值。
    (12)set(h,'DefaultObjectTypePropertyName1','DefaultObjectTypePropertyName2',...)对句柄值为h的对象设置特定属性名称的属性默认值。
    (13)H = findobj;返回Root对象与其所有子对象的句柄值
    (14)H = findobj(h);返回h变量的句柄值
    (15)H = findobj(’属性名称‘,’属性值‘);依据对象的属性名称和属性值找出匹配的对象句柄值。
    (16)H = findobj(ObjectHandles,’属性名称‘,’属性值‘);根据限定的对象列表找出与对象的属性名称和属性值匹配的对象句柄值
    (17)gcf返回当前Figure对象的句柄值
    gca返回当前axes对象的句柄值
    gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的任意图形对象,并且Matlab会把当前图形对象的句柄值存放在Figure的CurrentObject属性中

    Figure对象的属性篇
    (1).^是矩阵每个元素的幂乘,^是数的幂乘。
    (2)set(handle)列出句柄值为handle的对象的所有属性
    get(handle)除列出上述属性外,还列出可以设置的属性
    reset(handle)将所有属性改为默认值
    delete(handle)删除句柄值为handle的图形对象
    (3)利用set(handle,‘属性名称’)获得句柄值为handle的对象的属性名称下所有可设置的属性值
    set(gcf,'units):得到[ inches | centimeters | normalized | points | {pixels} | characters ],其中,大括号中是默认值
    (4)clf reset;将窗口关闭,并重新设置其属性为默认值。
    (5)Closerequestfcn,有效值为字符串或函数句柄(前加@)
    当关闭绘图窗口或离开Matlab时,就会定义Closerequestfcn定义的函数
    (6)createfcn,当Matlab建立一个对象时(如为figure对象,即打开一个绘图窗口),就会触发createfcn所定义的callback程序。如set(0,'defaultfigurecreatefcn','set(gcbo,''integerhandle'',''off'')');即设置了根对象的默认值,使每次建立figure对象时,都会指定一个非整数的句柄值。(在用户未指定句柄值时)
    (7)将当前窗口中在键盘上按下的按键名显示出来。
    set(gcf,'keypressfcn','get(gcf,''currentcharacter'')')
    (8)color有效值为colorspec
    colorspec表:
    RGB 简称
    [110] y_yellow
    [101] m_magenta
    [011] c_cyan
    [100] r_red
    [010] g_green
    [001] b_blue
    [111] w_white
    [000] k_black
    (9)linspace(a,b,c):a初始b结束c线性分段次数linspace(a,b)则默认100次
    (10)CurrentObject:有效值为图形对象句柄值:返回绘图窗口内当前被鼠标选取的对象的句柄值
    (11)currentPoint:有效值[x-坐标,Y-坐标]返回绘图窗口中最后单击鼠标的位置,用get(gcf,'currentpoint')就会返回当前在窗口中单击鼠标的位置
    (12)DeleteFcn:有效值:字符串或函数句柄,删除对象(这里为figure)时会触发Deletefcn所定义的Callback程序。
    (13)Dockcontrols:有效值为on/off,默认值on,控制窗口的嵌入效果是否可用。
    (14)Hittest:有效值on/off,决定能否用鼠标选取对象为当前对象。
    (15)Integerhandle:有效值on/off,决定Figure对象句柄值的类型为整数或浮点小数。
    (16)Interruptible:有效值on/off,执行过程中需要中断程序而优先执行其他程序时要设该属性为on。即Interrupptible属性是用以控制当Callback执行时是否能被其他事件(如此时鼠标按下其他控制对象)而中断,on是会中断,off时会执行完当前Callback,再去执行其他Callback。
    (17)Keypressfcn:有效值为字串或函数句柄。当用户在figure窗口中按下键盘的任意键时,就会执行Keypressfcn所定义的Callback程序。
    figure('keypressfcn','fprintf(''当前按下键盘上的%c键\n'',get(gcf,''currentcharacter''))')在这个figure窗口中按下键盘上的按键时就会立即返回对应的字符,依据这个效果就可以决定当字符键被按下时所要执行的操作。
    当这个属性指定的值是一个函数句柄时,Matlab就会将这个函数视为一个结构,包含下列字段——character(以当前键盘上按下的按键显示的字符来当作结果),modifier(包含一个或多个识别键盘上按下按键字符名称的细胞数组(如Ctrl,Alt,Shift等),key(显示被按下的键)。
    (18)WindowButtonDownFcn:有效值为字符串或函数句柄
    当鼠标在绘图窗口内按下鼠标任意键时,将触发WindowButtonDownFcn所定义的Callback以产生相对应的操作。
    (19)WindowButtonMotionFcn:有效值为字符串或函数句柄
    当鼠标在绘图窗口内按住鼠标任意键移动,将触发WindowButtonMotionFcn所定义的Callback以产生相对应的操作。
    (20)WindowButtonUpFcn:有效值为字符串或函数句柄
    当鼠标在绘图窗口内释放鼠标任意键时,将触发WindowButtonUpFcn所定义的Callback以产生相对应的操作。
    (21)CurrentAxes有效值为当前坐标轴的句柄值,返回当前的坐标轴句柄值。假设某坐标轴句柄值为a_h,可以使用axes(a_h)或set(gcf,'currentaxes',a_h)这两种方式,制定句柄值为a_h的坐标轴为当前坐标轴。
    (22)CurrentCharacter:有效值为任意字符,返回用户在绘图窗口中最后输入的一个字符,即刚在键盘上按下的字符键将存储到Currentcharacter中,一般于Keyppressfcn合用。
    (23)Currentobject有效值为图形对象的句柄值,返回绘图窗口内当前被鼠标选取的对象的句柄值。
    (24)有效值为两元素的向量,[X坐标,Y坐标]
    返回绘图窗口中最后单击鼠标的位置,与Windowbuttonmotionfcn,Windowbuttonupfcn合用。使用get(gcf,'currentpoint')就会返回当前在窗口中单击鼠标的位置。

    Axes对象的属性
    (1)title('new','color','r');给坐标轴命名为new,红色
    title({'this title','has 2 '});命名为两行的标题
    (2)Units:有效值为pixels/normalized/inches/centimeters/points/characters
    决定各种位置属性的度量单位,相对于窗口左下角为基准。当设置为Pixels时,以像素为单位;当设置为normalized时,以坐标为单位,屏幕的左下角为[0,0],右上角为[1.0,1.0]。
    (3)grid on:在图像中显示网格。
    (4)children:控制axes对象的子对象,即image\light\line\patch\rectangle\surface和text等对象,可通过get(gca,'children')来返回当前坐标轴的子对象构成的句柄值向量。
    (5)字体属性:
    Fontangle字体角度(正常normal或斜体italic/oblique)
    Fontname字体名称
    fontsize字体大小(单位由Fontunits决定)
    fontunits字体单位(points/normalized/inches/centimeters/pixels)
    fontweight字体粗细(normal/bold/light/demi)
    gridlinestyle决定坐标轴网格线的样式,‘-’为实线‘- -’为虚线‘:’为点线‘-.’为点虚线
    plot(1:10);grid on;set(gca,'gridlinestyle','-.');将当前坐标轴显示的网格线为点-虚线
    (6)linewidth 定义X,Y和Z轴的轴线宽度(以点单位定义)
    (7)NextPlot:有效值为add|replace|replacechildren,默认为replace
    add表示使用当前的坐标轴,把新的图形对象加到此坐标轴中是一般保留的做法,replace表示重新设置坐标轴的所有属性(Position除外),也就是在绘图前会删除当前坐标轴和它的子对象。replacechildren表示移除当前坐标轴中所有子对象,但不重新设置坐标轴的所有属性
    (8)Outerposition决定坐标轴外边界的位置。由位置向量[left,bottom,width,height]组成,其中left,bottom表示相对于绘图窗口左下角的位置,width,height表示区域尺寸,默认为[0 0 1 1]
    (9)Position由位置向量[left,bottom,width,height]组成,决定坐标轴位置
    (10)Tag定义本坐标轴的卷展栏,因为每一个对象都有自己唯一的识别码即tag,以方便findobj函数查找坐标轴句柄值。
    (11)visible决定坐标轴是否可见
    (12)set(gca,'xgrid','on')绘制X轴垂直网格线
    set(gca,'gridlinestyle',':','linewidth',3)设置网格线线条类型和宽度
    set(gca,'box','on')将图轴方框绘制出来
    (13)set(gca,'xscale','linear');将X轴刻度设为线性
    set(gca,'yscale','log');将Y轴刻度设为对数
    (14)disp()显示一个数组,但不显示其数组名称
    disp(' Corn Oats Hay')
    disp(rand(5,3))
    which results in
    Corn Oats Hay
    0.2113 0.8474 0.2749
    0.0820 0.4524 0.8807
    0.7599 0.8075 0.6538
    0.0087 0.4832 0.4899
    0.8096 0.6135 0.7741

    Pause:pause, by itself, causes M-files to stop and wait for you to press any key before continuing.

    实例:plot(1:10);set(gca,'yscale','log');
    disp('请按下Enter键');
    pause
    set(gca,'Yscale','linear');本例是说按下Enter键将Y轴刻度由对数改为线性。
    (16)Xtick,Ytick,Ztick:控制X,Y,Z轴坐标刻度记号的位置,即控制坐标轴上刻度记号的位置以及每隔多少值会到下一个刻度记号的位置,同时还需要配合Xticklabel、Yticklabel、Zticklabel属性来调整。详细见例程。
    以下设置方式相同:
    set(gca,'Xticklabel',{'1';'10';'100'})
    set(gca,'Xticklabel','1|10|100')
    set(gca,'Xticklabel',[1;10;100])
    set(gca,'Xticklabel',['1 ';'10 ';'100'])
    (17)Findobj:查找

    Line对象
    当用户建立一个线对象时,就会触发Createfcn所定义的Callback产生相对应的操作;同样,若删除一个线对象时,就会触发DeleteFcn所定义的Callback产生相对应的操作。以下程序建立一个线对象,并设置DeleteFcn为一个问题对话框,当删除该线对象时,就会显示其问题对话框来询问用户。
    (1) clipping:有效值为on/off,默认值为on
    设置坐标轴土筐是否可以剪辑,如果设为off,则绘制线对象时可超出坐标轴的图框。
    (2)Linewidth:有效值为纯量(与向量相对,只有大小而无方向),点为单位。
    (3)Marker:有效值为字符,决定Line对象的记号类型,有+,o,*,.,x,s,d,等
    (4)Markersize:有效值为纯量,单位为点,Marker的大小。
    (5)UIcontextmenu:有效值为uicontextmenu对象的句柄值,定义与线对象相关联的uicontextmenu菜单,因此当用户将该线对象的属性UicontextMenu设置为相关联的uicontextmenu对象的Tag名称时,uicontextmenu就可以在该线对象上单击鼠标右键来显示uicontextmenu菜单。
    (6)Tag:有效值为字符串,定义改线对象的卷展栏(即标记)
    (7)Type:有效值为字符串(只读),此处为’line‘字符串。
    (8)Xdata,Ydata,Zdata:有效值为坐标数组,指定产生线条的数据点,若为2D环境则Xdata、Ydata需要有相同数目的数据,而Zdata为空矩阵;3D环境则Xdata,Ydata,Zdata三者都需要有相同数目的数据。
    例:x=0:5,y=x+10;line('xdata',x,'ydata',y);

    Patch对象
    patch函数不想其他高级区域建立函数(fill和area),只是简单地将patch对象添加到当前坐标轴中而已。
    使用:patch(X,Y,C)
    在当前的坐标轴中添加二维填充的patch对象,X和Y用以定义patch对象顶点的位置,若X,Y为矩阵,则Matlab按每一行的元素来产生多个多边形。
    例:x = [0 0;0 1;1 1];
    y = [1 1;2 2;2 1];
    z = [1 1;1 1;1 1];(x(1,1),y(1,1),z(1,1)为第一个面的第一个顶点,x(2,1),y(2,1),z(2,1)为第一个面的第二个顶点,以此类推)
    tcolor(1,1,1:3) = [1 1 1];
    tcolor(1,2,1:3) = [.7 .7 .7];
    patch(x,y,z,tcolor);(tcolor是一个1*2*3的三维矩阵)

    Surface对象
    surface可以建立一个surface对象,surface是由矩阵数据所在的列索引值为X坐标,而行索引值为Y坐标,并且矩阵的每个元素值为Z坐标。

    image对象
    image(C)将矩阵C当作一个图像来显示,C的每一个元素定义一个图像中矩阵线段的颜色。
    image(x,y,C)其中x与y为2元素的向量,分别指定X轴与Y轴卷展轴的范围。C为图像矩阵。

    text对象
    (1)text(x坐标,y坐标,'string')在图形中指定位置(x,y)显示字符串string。
    (2)Editing有效值为on/off,off时,用户在执行GUI操作时无法直接在该Text对象上进行编辑,改为on后,可以进行编辑。
    (3)HorizontalAlign 有效值为left/center/right决定Text对象中字符水平方向的对齐方式。
    (4)Interpreter有效值为tex/none,决定Text对象中是否可用Tex字符注释,当设置为Tex时,表示允许用户能够在String属性下输入Tex字符。以下为在窗口的 [.5 .5]点位置处建立一个text对象并且字体大小以16点来表示的一个方程式。(显示的是一个二重积分)
    text('interpreter','latex','string','

    x0ydF(u,v)
    ','position',[.5 .5],'fontsize',16)
    (5)String有效值为字符串,表示要显示出来的字符串是什么。
    (6)verticalAlignme 有效值为top/cap/middle/baseline/bottom决定Text对象垂直对齐的方式。

    下面加载一个例子,是ilovematlab论坛一个斑竹的回复
    x=0:0.5:10;
    >> y1=sin(x);
    >> y2=cos(x);
    >> plot(x,y1,'r',x,y2,'g')
    >> findobj(gca,'color','r')

    不想要的曲线直接delete句柄就可以了

    ---------------------------------------------------------------------------------------

     

    gcf 是返回当前被激活的窗口的图形对象的句柄。你可以认为它就指代当前窗口。
    figure(gcf)打开这个窗口。

    gca返回当前axes对象的句柄值
    gco返回当前鼠标单击的句柄值,该对象可以是除root对象外的任意图形对象,并且Matlab会把当前图形对象的句柄值存放在Figure的CurrentObject属性中

    展开全文
  • MySql函数 - FIND_IN_SET函数

    千次阅读 2017-09-12 20:56:02
    MySql函数 - FIND_IN_SET函数1.函数简介FIND_IN_SET函数 是一个比like关键字更加高级的精确查询匹配 2.调用形式// 可以用Java中的set集合来理解,在一个set集合中查找某个值是否存在 find_in_set('欲查找的值','被...

    MySql函数 - FIND_IN_SET函数

    1.函数简介

    FIND_IN_SET函数 是一个比like关键字更加高级的精确查询匹配
    

    2.调用形式

    // 可以用Java中的set集合来理解,在一个set集合中查找某个值是否存在
    find_in_set('欲查找的值''被查找的值的集合,用英文逗号分隔开')

    3.简单应用

     // 以下查询将得到结果 2
     // 当他包含在set集合里面时,返回在集合中的位置,下标从1开始
     SELECT FIND_IN_SET('b','a,b,c,d') 
    
     // 当然,他还可以被应用到where子句中,比如下面这种形式
     // 比如,某篇文章type是科技类,又是时事类,又是热点类,而你想找表中所有的科技类文章时,该方式可以得到应用
     select xxx from xxx as s where 1=1 and find_in_set('some type',s.type)
    展开全文
  • 一、get函数和set函数 1、get 获取对象属性get(H,‘LineWidth’)得到固定属性 1.1、 get(H)显示所有用户的名称和当前值具有句柄H的图形对象的属性。 1.2、V=get(H),其中H是标量,返回每个字段所在的结构name是H...

    一、get函数和set函数

    1、get 获取对象属性get(H,‘LineWidth’)得到固定属性
    1.1、 get(H)显示所有用户的名称和当前值具有句柄H的图形对象的属性。
    1.2、V=get(H),其中H是标量,返回每个字段所在的结构name是H和每个字段的用户可获取属性的名称
    包含该属性的值。
    2、set 设置设置对象属性。
    set(H,‘PropertyName’,PropertyValue)设置指定的具有句柄H的图形对象的属性。H可以是句柄,在这种情况下,set设置所有对象的属性值H的。

    x=0:0.01:2;
    y=x.^2;
    plot(x,y);
    

    在这里插入图片描述
    输入

    x=0:0.01:2;
    y=x.^2;
    H=plot(x,y);
    get(H);
    

       AlignVertexCenters: 'off'
                Annotation: [1×1 matlab.graphics.eventdata.Annotation]
              BeingDeleted: 'off'
                BusyAction: 'queue'
             ButtonDownFcn: ''
                  Children: [0×0 GraphicsPlaceholder]
                  Clipping: 'on'
                     Color: [0 0.447000000000000 0.741000000000000]
                 CreateFcn: ''
                 DeleteFcn: ''
               DisplayName: ''
          HandleVisibility: 'on'
                   HitTest: 'on'
             Interruptible: 'on'
                  LineJoin: 'round'
                 LineStyle: '-'
                 LineWidth: 0.500000000000000
                    Marker: 'none'
           MarkerEdgeColor: 'auto'
           MarkerFaceColor: 'none'
             MarkerIndices: [1×201 uint64]
                MarkerSize: 6
                    Parent: [1×1 Axes]
             PickableParts: 'visible'
                  Selected: 'off'
        SelectionHighlight: 'on'
                       Tag: ''
                      Type: 'line'
             UIContextMenu: [0×0 GraphicsPlaceholder]
                  UserData: []
                   Visible: 'on'
                     XData: [1×201 double]
                 XDataMode: 'manual'
               XDataSource: ''
                     YData: [1×201 double]
               YDataSource: ''
                     ZData: [1×0 double]
               ZDataSource: ''
    

    比如想改线宽,再输入

    set(H,'LineWidth',3)
    


    在这里插入图片描述

    展开全文
  • PHP中isset函数的用法

    万次阅读 2018-07-13 14:58:33
    当要 判断一个变量是否已经声明的时候 可以使用 isset 函数 当要 判断一个变量是否已经赋予数据且不为空 可以用 empty 函数    当要 判断 一个变量 存在且不为空 先isset 函数 再用 empty 函数       ...

    当要 判断一个变量是否已经声明的时候 可以使用 isset 函数

    当要 判断一个变量是否已经赋予数据且不为空 可以用 empty 函数 

     

    当要 判断 一个变量 存在且不为空 先isset 函数 再用 empty 函数

     

     

     

    定义和用法

    检测变量是否已声明。

    类似$_POST['index']的变量,如果不存在表单提交,就会出现:Notice:Undefined index:...的错误。

     

    展开全文
  • FIND_IN_SET函数

    千次阅读 2018-12-01 14:13:39
    FIND_IN_SET函数是IN函数的升级版.功能类似. 区别在于:如果是常量,则可以直接用IN, 否则要用FIND_IN_SET()函数 MySQL中原型为:FIND_IN_SET(str,strlist)。 假如字符串str 在由N 子链组成的字符串列表strlist 中...
  • 一、set函数 set()函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 例题: 1、set函数求交集(&)、差集(-)、并集(|) s1 = set('here') s2 = set('hello') ...
  • tp5如何使用FIND_IN_SET函数,thinkphp5中mysql函数FIND_IN_SET用法
  • Matlab中的set函数用法

    万次阅读 多人点赞 2017-07-12 09:05:36
     set函数的调用格式为:  set(句柄,属性名1,属性值1,属性名2,属性值2,…) 例1: x=0:0.2:12; y1=bessel(1,x); y2=bessel(2,x); y3=bessel(3,x); h=plot(x,y1,x,y2,x,y3); set(h,{'LineWidth'},{2;5;8}) %...
  • Python set函数

    千次阅读 2018-09-02 08:57:50
    Python set()函数的介绍、使用方法和注意事项。
  • 创建实体类的get函数和set函数 在java中经常是声明一个私有的变量,然后给出他们的公共的get方法和set方法。比如: private String name; public String getName() { return name; } public void setName(String ...
  • Oracle FIND_IN_SET函数

    2020-08-20 15:35:47
    mysql 有 find_in_set函数可以满足类似需求,oracle没有这个函数,需要手动创建 create or replace function find_in_set(arg1 in varchar2,arg2 in varchar) return number is Result number; begin ...
  • PHP的isset函数使用的坑

    千次阅读 2019-06-16 18:41:18
    上面代码的意思和我写的业务代码情况一样,为了不会让程序发生变量为定义的错误,我使用了isset函数来做判断,但是正是因为我这样使用了isset函数它却报错了。原因何在呢? 上面的代码我做了改动,改动了13-14行的...
  • mysql 中set函数的用法

    千次阅读 2018-09-19 11:20:58
    mysql 中set函数的用法 :当值为空时不进行赋值 update user_user <set> <if test="nickname!=null and nickname!='' "> user_user.nickname=#{nikename} </...
  • c#中的get函数和set函数的用法

    千次阅读 2016-06-17 17:23:11
    C# get set函数很常用,但是用好还是需要很多经验的,下面介绍一下我使用C# get set函数的经验之谈。 C# get set不提倡将域的保护级别设为 public而使用户在类外任意操作--那样太不OO,或者具体点说太不安全...
  • 慎重使用Get/Set成员函数(二)Set函数和其他修改函数的替代办法黄国强 2011-7-19前文说到,尽量避免使用Get和Set这样的函数,下面介绍的是替代办法。第一步,把Set中的函数参数都放到构造函数中。第二步,把所有其他...
  • PHP ini_set函数

    千次阅读 2012-05-15 10:06:29
    PHP ini_set函数 作者:太平裂碑 发布:2011-04-08 15:30 在PHP配置函数中,有一种函数的功能是实现设置php.ini中的某些变量值的。它就是我们今天要为大家介绍的PHP ini_set函数。 PHP ini_set函数...
  • python: set函数

    2017-11-01 09:14:31
    set() 函数创建一个 集合 。集合中元素 区分大小写,不重复,且按字母表顺序排列。实验代码# coding=utf-8beijing = set('Beijing') nanjing = set('Nanjing')# 重复的被删除,并按字母表顺序排列 print beijing, ...
  • Impala 代替 hive COLLECT_SET函数的方式

    千次阅读 2019-07-01 16:20:02
    之前是在HIVE上开发,GROUP BY 某些字段后,其他字段使用COLLECT_SET(ITEM)[0]的方式取相同字段值中的一个,而在Impala上没有COLLECT_SET函数。 方案 使用GROUP_CONCAT函数+SPLIT_PART函数替代 ## IMPALA SELECT ...
  • Python中set函数的使用

    万次阅读 2013-02-18 11:28:22
    Python中的set函数是一个无序不重复的元素集。主要用于关系测试和去除重复项。同时,set集合也支持数学上的关系运算,如union(并集),intersection(交集),difference(差集)和symmetric difference(对称差集...
  • matlab set函数 句柄操作函数

    千次阅读 2017-03-14 10:53:35
    MATLAB给每种对象的每一个属性规定了一个名字,称为属性名,而属性名的取值成为属性值。... set函数的调用格式为:   set(句柄,属性名1,属性值1,属性名2,属性值2,…) 例子: clear x=0:0.2:12; y1=besse
  • set函数的用法

    千次阅读 2018-07-26 14:47:49
    set()是python中的一个内置函数。功能强大。可以用于数据的筛选。 1. set().add() : 往set的后面加数据 2.set().pop() : 删除set的最后一个数据,并返回该值 3.set().discard() : 删除set中的某个值,可以指定...
  • 前段时间项目中使用到Mysql的FIND_IN_SET函数,感觉挺好用的。过一段时间,老大找到我说,这个需要改为IN,哈哈,只能改了,原因会在下面分析到! CREATE TABLE `test` ( `id` int(8) NOT NULL auto_increment, ...
  • vue中vm.$set函数的详细使用方法

    千次阅读 2020-09-13 14:34:12
    vue中vm.$set函数的详细使用方法一、为什么要使用二、不是响应性的例子三、vm.$set的使用四、数组下标操作会碰到的误区 一、为什么要使用 想必大家都遇到过这样一个问题,就是在数组数据变化了,但是页面不能实时的...
  • python set函数,去除列表重复元素

    千次阅读 2018-01-15 10:07:38
    正如标题所说,set函数可以非常方便的将一个列表去重,例如 a = [1,2,3,4,4,2,3,31,3,3,2,4,313,1,21,21,3,3,22,2,2,2,3,3,3,4,4] b = set(a) print(a) print(b) 输出为 [1, 2, 3, 4, 4, 2, 3, 31, 3, 3,...
  • Matlab中set函数

    千次阅读 2019-12-10 16:48:57
    set(get(gca,'title'),'FontSize',10,'FontName','宋体'); % 设置X坐标标题字体大小,字型 set(get(gca,'XLabel'),'FontSize',10,'FontName','Times New Roman'); % 设置Y坐标标题字体大小,字型 set(get(gca,'...
  • MATLAB中set函数的使用更新中...

    千次阅读 2018-12-07 10:19:42
    gca ax = gca ax = gca 返回当前图窗的当前坐标区或图 ...set函数 set(gca,参数) 这里介绍一下常用的参数,更多的可以参看matlab文档 具体参见: http://ww2.mathworks.cn/help/matlab/ref/matlab.graphics.axi...
  • Python 利用内置set函数对字符串和列表进行去重 # coding:utf8 __author__ = 'libingxian' __date = "20170415"# 由于数据类型set本身具有无序,唯一值的特性,可以用内置函数set对字符串和列表进行去重,挺方便的 ...
  • 使用 vue 1.0.3 $set 函数遇到的坑

    千次阅读 2017-08-21 09:49:44
    vue 1.0.3 中 $set 函数是动态改变或添加一个 data 中的属性值时 属性 key 不可以使用纯数字。 例如: var app = new Vue({  el:"#app",  data:{  test:{  k1:'v1',  k2:'v2'  }  },

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 55,710
精华内容 22,284
关键字:

set函数