matlab关于画图的深层理解(图形对象)

我们经常使用matlab画图,但是对matlab画图如何画出来的,我们很少了解,因此本文主要讲述matlab画图背后的原理

图形对象

看到“对象”二字,大家必定不陌生,毕竟都是单生狗(别打我)。。。。
 好了不开玩笑了,面向对象编程的思想必大家都知道,例如ava和python等等,都是采用面向对象编程的思想,但是却不知道matlab也是面向对象编程的语言。

图形对象是matlab用来创建可视化数据的组件。每个对象在图形显示中都具有特定的功能和角色。
例如,一个线图包含一个图窗对象、一个坐标区对象和一个图形线条对象。那么就可以通过设置它们的属性来定义图形对象。
图像对象按层次结构组织,如下图所示。图像对象的层次结构本身反映出对象之间的包含关系。

图像对象层次结构

matlab图像对象

  1. 图像对象是MATLAB用来以图像的形式显示数据的可视化组件。例如,图形可能包含线条、文本和坐标区,所有都显示在图窗窗口中。
  2. 每个对象都有一个名为句柄的唯一标识符。使用该句柄,您可以通过设置对象属性来操作现有图形对象的特征。您还可以在创建图形对象时指定属性值。通常,使用如 plot、bar、scatter等绘图函数创建图形对象。

图形由具体对象组成

  1. 当您创建图形时,例如通过调用 plot 函数创建, MATLAB 会自动执行一系列步骤生成图形。这些步骤包括创建对象和将这些对象属性值设置为适合特定图形的

图形对象的组织

这些图形对象按层次结构组织,如下图所示。

在这里插入图片描述

图形对象的层次结构本身反映出对象之间的包含关系。每个对象在图形显示中都具有特定角色。

例如,您使用 plot函数创建线图。坐标区对象定义了表示数据的线条的参考框架。图窗是显示图形的窗口。图窗包含坐标区,坐标区包含线条、文本、图例以及其他用于表示图形的对象。

到这里可能有些童鞋还不明白什么是图窗对象、坐标区对象和图形线条对象,那么我们通过代码的形式来理解这些概念。

  • 图窗

     在**matlab**命令行输入以下代码![在这里插入图片描述](https://img-blog.csdnimg.cn/2020072615033077.png)
    

则会出现下图:
在这里插入图片描述
可以看见这是个什么都没有的空白图窗,那么这就是图窗

  • 坐标区对象

注意:坐标区是表示 x、y 和 z 坐标区标度、刻度线、刻度标签、坐标区标签等对象的单个对象。

我们在上面的基础上接着输入以下代码
在这里插入图片描述
则会出现以下画面。
在这里插入图片描述
通过一个指令就可以获得坐标轴区对象

在这里插入图片描述
线条对象
接着上面的,敲入以下代码,则可以得到线条对象
在这里插入图片描述

修改图形对象

以上只是让我们明白图形对象的整体层次结构,其实包含很多的东西,但是通过上面的理解,对于我们日后修改和创作出不一样的图形更加有帮助。
那么接下来我们开始实战。

图形对象

当 MATLAB 创建一个绘图时,它会创建一系列的图形对象。图形对象的例子有图窗、坐标区、线条、填充和文本。下图有三个图形对象 – 一个坐标区、一条线条和一个文本对象。使用可选输出参数存储所创建的图形对象。

x = -pi:pi/20:pi;
y = sin(x);

f = figure;  # 图窗
p = plot(x,y);  # 一条线条对象
txt1 = text(0.2,0,'sin(x)');  % 文本对象

在命令行中输入以上代码,则会出现下图
在这里插入图片描述

所有图形对象均有您可以查看和修改的属性。这些属性具有默认值。下面所示的线条对象 p 显示了最常用的线条属性,如 Color、LineStyle 和 LineWidth。

在这里插入图片描述
在这里插入图片描述
这会添加另外一个文本对象
在这里插入图片描述

获取图形对象属性

若要访问图形对象的个别属性,请使用圆点表示法语法 object.PropertyName。例如,返回线条对象的 LineWidth 属性。
在这里插入图片描述

通过设置线条的 Color 属性将其颜色更改为红色。
在这里插入图片描述
此时线条的颜色发生的变化
在这里插入图片描述

父级和子级

整个概念类似于Java中的继承关系,父类与子类

MATLAB 按一定的层次结构排列图形对象。层次结构的顶部是称为图形根的特殊对象。若要访问图形根,请使用 groot 函数。

在这里插入图片描述

注意:所有图形对象(除了根)均有一个父级。例如,坐标区(Axes)的父级是一个图窗(FIgure)。
在这里插入图片描述
许多对象也有子级。此套坐标区有三个子级 - 两个文本对象和一个线条对象。
在这里插入图片描述
因为坐标区有多个子级,Children 属性的值是一个图形对象数组。要访问坐标区的个别子级,请对数组建立索引。然后,您可以设置子级对象的属性。
此处获取第二个文本对象,并将其字体属性修改为粗体。
在这里插入图片描述
得到下图
在这里插入图片描述

总结

对于前面学习的内容,其实最主要的思想就是对象的思想。在实际的画图过程中,我们很多时候需要修改很多内容,然而对于修改的内容如果我们知道其是某个图形对象的属性,那么就只需要获取对象的属性,并将其修改便可。
希望以上内容对大家有所帮助!!

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值