Matlab图形属性检查器

和其他语言的绘图不一样的是,Matlab允许我们通过非编程的方式来自定义调整绘图。下面介绍Matlab图形的构成以及几种调整绘图时的常用操作。

图形构成

什么是Figure

当我们使用绘图函数创建图形时,总会弹出一个窗口以显示我们绘制的图形,这整个窗口我们把它叫做Figure或者称为画板(即我们作画需要的载体)。比如像下面的图形就是一个Figure:



尽管在我们进行绘图时,系统为我们给定了一套默认的参数,比如图形的大小,颜色,位置等等,但是这种方式由于缺乏灵活性,不利于我们对图形进行修正比如,若将上面的图形导出则会出现大片的空白区域,后期仍需要进行二次裁剪十分浪费时间,因此我们需要深入了解Figure,以实现我们客制化的需求。

Figure由哪些部分组成

我将Matlab中Figure的最常用组成总结如下:



其中Figure是整个画布,legend是图例显示,axes是我们真正绘图的区域,xlabel,ylabel即x,y轴表示含义,title即图的标题,tick和tick_label为刻度值和在该刻度值上显示的文字。值得注意的是我们在进行绘图时,上面各个部分的位置信息都是参考其上一级的位置信息而言的的。

图形调整

位置调整

位置表示

Matlab中位置通常用向量[left bottom width height]来表示,left表示距离左侧边界的距离,bottom表示距离下边界的距离,width表示图像的宽度,height表示图像的高度。



在表示这些量时有很多单位可以选择,建议选择normalized。

Figure位置调整

在Figure中共有三个位置信息,它们表示的含义大体相近,但亦有所区别。

  • Position 属性是最常用的,用于直接设置图形窗口在屏幕上的位置和大小。
  • OuterPosition 属性则用于获取或设置包括所有装饰元素在内的整个图形窗口的大小和位置。
  • InnerPosition 属性主要用于调整绘图区域的大小和位置,而不考虑窗口的边框、标题栏等装饰元素。

    在实际使用上,我们往往只用设置其中一个就可,实验上来看,Position和OuterPosition似乎没有太大区别。另外Figure的位置信息是参考屏幕左下角的点而言的。

axes位置调整

axes同样有上面上个位置信息,由于Figure是其上一级,因此它的位置信息是参考Figure的左下角而言的。如下图:

其他部分位置调整

对于其他部分的位置而言,大多数都包含了Position信息,此外对于title还有额外的HorizontalAlignment和VertivalAlignment信息(可以设置为left,right和center),当设置为居中时,那么将以居中点来确定到参考点的距离。

坐标轴刻度调整

在我们进行绘图时,有时候我们期望坐标的刻度以日期形式显示,这时候x,y的tick_label就排上用场了。比如设置xtick = [1,2,3,4], xtick_label为['a','b','c','d']那么实际出来的效果就是在刻度为[1,2,3,4]的地方显示a,b,c,d。

如下图所示:

放大指定区域的图形

局部区域放大图的原理很简单,其实就是copy一份一模一样的图像,然后重新设置的新图的xlim和ylim然后对图片放大。

下面展示,设置放大图的全过程。

  • 拷贝一份图像放一起

  • 设置拷贝图像的显示范围(属性检查器->标尺->xlim,ylim)



    这样就基本上完成了图像的放大

  • 将放大图像移动到原图像中,并添加箭头

Matlab绘图(1)通过属性检查器调整绘图的更多相关文章

  1. SOAPUI使用教程-WSDL项目---检查器

    SoapUI Pro添加了许多可用的WSDL消息上下文的检查器. XSD / XML Schema检查器 XML Schema检查器显示当前节点对应的XML模式定义. 下面的屏幕截图显示了在Bing搜 ...

  2. JMeter学习(二十五)HTTP属性管理器HTTP Cookie Manager、HTTP Request Defaults

    Test Plan的配置元件中有一些和HTTP属性相关的元件:HTTP Cache Manager.HTTP Authorization Manager.HTTP Cookie Manager.HTT ...

  3. 【jmeter】HTTP属性管理器HTTP Cookie Manager、HTTP Request Defaults

    Test Plan的配置元件中有一些和HTTP属性相关的元件:HTTP Cache Manager.HTTP Authorization Manager.HTTP Cookie Manager.HTT ...

  4. python 拼写检查代码(怎样写一个拼写检查器)

    原文:http://norvig.com/spell-correct.html 翻译:http://blog.youxu.info/spell-correct.html 怎样写一个拼写检查器 Pete ...

  5. HTTP属性管理器详解

      1)HTTP Cache Manager 2)HTTP Cookie 管理器 3)HTTP 信息头管理器 4)HTTP 授权管理器 5)HTTP 请求默认值 为什么会有这些http属性的配置元件? ...

  6. H2Engine游戏服务器设计之属性管理器

    游戏服务器设计之属性管理器 游戏中角色拥有的属性值很多,运营多年的游戏,往往会有很多个成长线,每个属性都有可能被N个成长线模块增减数值.举例当角色戴上武器时候hp+100点,卸下武器时HP-100点, ...

  7. HTTP属性管理器 初探

      1)HTTP Cache Manager 2)HTTP Cookie 管理器 3)HTTP 信息头管理器 4)HTTP 授权管理器 5)HTTP 请求默认值 为什么会有这些http属性的配置元件? ...

  8. <转>jmeter(十九)HTTP属性管理器

    本博客转载自:http://www.cnblogs.com/imyalost/category/846346.html 个人感觉不错,对jmeter讲解非常详细,担心以后找不到了,所以转发出来,留着慢 ...

  9. jmeter(十九)HTTP属性管理器

    jmeter是一个开源灵活的接口和性能测试工具,当然也能利用jmeter进行接口自动化测试.在我们利用它进行测试过程中,最常用的sampler大概就是Http Request, 使用这个sampler ...

  10. JMeter学习(二十四)HTTP属性管理器HTTP Cookie Manager、HTTP Request Defaults(转载)

    转载自 http://www.cnblogs.com/yangxia-test Test Plan的配置元件中有一些和HTTP属性相关的元件:HTTP Cache Manager.HTTP Autho ...

随机推荐

  1. 山东职业竞赛wp2023(arm、cpython)

    pwn2 return2libc,白给 from evilblade import * context(os='linux', arch='amd64') context(os='linux', ar ...

  2. axios.delete传参,400错误

    我在使用axios.delete进行传参的时候,发现会报400错误 后端代码(C#) 前端代码 这样的参数请求会报400错误 后端就一个参数,前端发一个id为什么接受不到呢? 在网上找了半天,终于明白 ...

  3. 多层PCB线路板制作流程

    PCB制作第一步是整理并检查pcb多层线路板布局(Layout).电路板制作工厂收到PCB设计公司的CAD文件,由于每个CAD软件都有自己独特的文件格式,所以深圳PCB板厂会转化为一个统一的格式Ger ...

  4. Python 装饰器解析(一)

    装饰器用于在源码中"标记"函数,以增强函数的行为. 我们先来看下面的例子,现有一个求和函数add,现在要求统计函数执行的时长 def add(a, b): print(a+b) 最 ...

  5. Js中的堆栈

    Js中的堆栈 堆heap是动态分配的内存,大小不定也不会自动释放,栈stack为自动分配的内存空间,在代码执行过程中自动释放. 栈区 在栈内存中提供一个供Js代码执行的环境,关于作用域以及函数的调用都 ...

  6. java利用hdfs api进行上传下载操作

    1.说明 最近项目中一部分大文件需要存储到hadoop的hdfs组件中,自己本地用3台centos7虚拟机搭建了一套集群.本地写点java代码测试一下. 代码部分改编自网络. 环境说明 一主二仆结构. ...

  7. virtualbox中给redhat安装增强功能

    关于虚拟机中安装redhat请参考其他教程: 1.点击虚拟机菜单:设备--安装增强功能.... 2.ssh连接到redhat,执行以下操作: [root@rhel-server ~]# mount / ...

  8. APScheduler可能遇到的问题

    uWsgi使用多进程模式启动Django项目,因此我们会有多个进程去执行这个定时任务,导致定时任务被重复执行.解决这个问题的方法,我们直接就会想到采用加锁的方式.第一个拿到锁的进程,执行定时任务,其余 ...

  9. 问题:django中对datetime类型数据在pycharm中sqlite3进行修改时,修改后datetime日期数据变成了时间戳类型

    这是正在修改的 提交完之后 问题原因 问题原因是sqlite数据库对日期类型不敏感,Pycharm直接插入会变成图中这样的时间戳,用POST请求添加数据或Django自带的后台管理插入不会有这样的问题 ...

  10. 【Azure 应用服务】Azure Durable Function(持久函数)在执行Activity Function时候,因为调用函数名称错误而导致长时间无响应问题

    问题描述 在使用Azure Durable Function函数,调用函数链模式来调用多个Activity Function. 函数链:https://docs.azure.cn/zh-cn/azur ...