主要内容

修改图形对象

这个例子展示了如何在MATLAB®中创建、显示和修改图形对象。

图形对象

当MATLAB创建一个图形时,它创建了一系列图形对象。图、轴、线、补丁和文本都是图形对象的例子。下图有三个图形对象——一个轴、一条线和一个文本对象。使用可选的输出参数来存储创建的图形对象。

x = -π:π/ 20:π;y = sin (x);f =图;p =情节(x, y);txt1 =文本(0.2,0,“sin (x)”);

图中包含一个axes对象。axis对象包含两个类型为line、text的对象。

所有图形对象都具有可以查看和修改的属性。这些属性具有默认值。线条对象的显示,p,显示最常用的行属性,例如颜色线型,线宽

p
p = Line with properties: Color: [0 0.4470 0.7410] LineStyle: '-' LineWidth: 0.5000 Marker: 'none' MarkerSize: 6 MarkerFaceColor: 'none' XData:[-3.1416 -2.9845 -2.8274 -2.6704 -2.5133 -2.3562…[-1.2246e-16 -0.1564 -0.3090 -0.4540 -0.5878…]显示所有属性

如果创建对象的命令中缺少分号,MATLAB也会显示相同的显示。

Txt2 = text(x(end), y(end),“π”

图中包含一个axes对象。axis对象包含3个类型为line、text的对象。

txt2 =具有属性的文本(pi): String: 'pi' FontSize: 10 FontWeight: 'normal' FontName: 'Helvetica'颜色:[0 0 0]HorizontalAlignment: 'left'位置:[3.1416 1.2246e-16 0]单位:'data'显示所有属性

获取图形对象属性

要访问图形对象的各个属性,请使用点符号语法对象。PropertyName.例如,返回线宽属性的行对象。

pcol = p.LineWidth
pcol = 0.5000

改变线的颜色为红色设置颜色财产。

p.Color =“红色”

图中包含一个axes对象。axis对象包含3个类型为line、text的对象。

父母和孩子

MATLAB以层次结构排列图形对象。层次结构的顶部是一个称为图形根.要访问图形根目录,请使用大的函数。

大的
ans =图形根属性:CurrentFigure: [1x1图]ScreenPixelsPerInch: 100 ScreenSize: [1 1 1280 1024] MonitorPositions: [1 1 1280 1024] Units: 'pixels'显示所有属性

所有图形对象(根对象除外)都有一个父对象。例如,坐标轴的父轴是一个图形。

甘氨胆酸ax =;斧子。父
ans =属性:数字:1名称:"颜色:[1,1]位置:[348 480 583 437]单位:'pixels'显示所有属性

许多对象也有子对象。这个轴有三个子对象——两个文本对象和一个行对象。

斧子。孩子们
ans = 3x1 graphics array: Text (pi) Text (sin(x))行

的值,因为坐标轴有多个子节点孩子们属性是图形对象的数组。要访问轴的单个子节点,请索引到数组中。然后可以设置子对象的属性。

t = ax.Children (2);t.FontWeight =“大胆”

图中包含一个axes对象。axis对象包含3个类型为line、text的对象。

预分配图形对象数组

在MATLAB中,在使用数组之前预先分配数组是一种最佳实践。使用gobject命令来预分配图形对象数组。然后可以将图形对象添加到数组中。

objarray = gobject(1、5);objarray = f (1);objarray (2) = ax;objarray (3) = p;objarray (4) = txt1;objarray (5) = txt2;objarray
objarray = 1x5图形阵列:图轴线文本文本

获取所有对象属性

MATLAB中的图形对象具有许多属性。要查看对象的所有属性,请使用得到命令。

get (f)
Alphamap:[0 0.0159 0.0317 0.0476 0.0635 0.0794 0.0952…]] BeingDeleted: off BusyAction: 'queue' ButtonDownFcn: " Children: [1x1 Axes] Clipping: on CloseRequestFcn: 'closereq' Color: [1,1 1] Colormap: [256x3 double] ContextMenu: [0x0 GraphicsPlaceholder] CreateFcn: " CurrentAxes: [1x1 Axes] CurrentCharacter: " CurrentObject: [0x0 GraphicsPlaceholder] CurrentPoint: [0 0] DeleteFcn: " DockControls: on FileName: " GraphicsSmoothing: on HandleVisibility: 'on' Icon: " InnerPosition: [348 480 583 437] IntegerHandle: on Interruptible: "on InvertHardcopy: on keypresscn: " KeyReleaseFcn: " MenuBar: 'none' Name: " NextPlot: 'add' Number: 1 NumberTitle: on OuterPosition: [348 480 583 437] PaperOrientation: 'portrait' PaperPosition: [1.3350 3.3150 5.8300 4.3700] PaperPositionMode: 'auto' PaperSize: [8.5000 11] PaperType: 'usletter' PaperUnits: '英寸' Parent: [1x1 Root] Pointer: 'arrow' PointerShapeCData: [16x16 double] PointerShapeHotSpot: [1 1] Position: [348 480 583 437] Renderer: 'opengl' RendererMode: 'auto' Resize:on可滚动:off SelectionType: 'normal' SizeChangedFcn: " Tag: "工具栏:'none'类型:'figure'单位:'pixels' UserData:[]可见:off WindowButtonDownFcn: " WindowButtonMotionFcn: " WindowButtonUpFcn: " WindowKeyPressFcn: " WindowKeyReleaseFcn: " WindowScrollWheelFcn: " WindowState: 'normal' WindowStyle: 'normal' XDisplay: ':100'
Baidu
map