• matlab绘制局部放大图


    ZoomPlot是一个交互式的matlab局部绘图库,其github仓库地址为 https://github.com/iqiukp/ZoomPlot-MATLAB。在使用库之前需要先将库下载到本地,可以直接添加到matlab的库中,也可以放在项目文件中直接使用。

    简单使用

    其实使用这个库只需要项目文件中包含 BaseZoom.mparameters.json 这两个文件即可。

    在使用时只需要两行代码

    clc;clear;close all;
    
    t = 0:0.01:10;
    y = sin(t);
    
    figure(1)
    plot(t,y)
    xlabel('t')
    ylabel('y')
    % 只需要这两行代码就可以绘制局部放大图
    zp = BaseZoom();
    zp.plot;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    请添加图片描述

    如果我们需要的不止一个地区放大,只需要多加两行代码

    clc;clear;close all;
    
    t = 0:0.01:10;
    y = sin(t);
    
    figure(1)
    plot(t,y)
    xlabel('t')
    ylabel('y')
    zp = BaseZoom();
    zp.plot;
    zp.plot;
    zp.plot;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    怎么确定框的位置呢,这就是交互式的好处,可以直接点击鼠标左键画出来,点击鼠标右键之后,画出来的框就不能再移动了,这算是一点小缺陷,然后就可以鼠标左键画第二个框,第二个框就是放大区域的框,画完两个框后,一次 zp.plot; 就结束了。

    其网站上介绍的这个图也比较清晰明了

    进行配置

    可能上面黑色的框框并不是很符合我们的审美,所以可以配置 parameters.json 文件

    共有四个部分可以配置

    • subAxes(子坐标系)
    • zoomedArea(放大区域)
    • dynamicRect(调整过程中的动态矩形)
    • connection(子坐标系和放大区域的连接线)

    其中的配置就是一些颜色,线宽,线条类型,箭头之类的普通配置,这里不在详细介绍

    但是使用这个库有一个问题就是不能在三维绘图中使用,三维绘图的支持也被坐着放在了TODO中,总而言之这个库还是非常优秀非常好用的,由于需求,我们下面介绍一种新的方法生成局部放大图。

    直接使用matlab的图窗

    其实这些功能matlab是直接定义好了的,我们以三维为例

    clc;clear;close all;
    
    t = 0:0.01:10;
    y = sin(t);
    z = cos(t);
    
    figure(1)
    plot3(t,y,z)
    xlabel('t')
    ylabel('y')
    zlabel('z')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    复制一份(ctrl c,ctrl v)

    缩小后移动到想要的位置

    工具中选择放大,放大到我们想要的位置


    在这里插入图片描述

    查看中选择绘图编辑工具栏

    就可以使用下面的线条和箭头画出所有的部分了,我画的有点稀烂

    大概是这个意思

  • 相关阅读:
    Java_File 文件类 整理详解(求求了进来看看)
    [github初学者教程] 分支管理-以及问题解决
    如何解决虚拟仿真教学中的设备限制和卡顿问题?|点量云流技术解决方案
    Flutter 全能型选手GetX —— 多语言配置/主题设置/离线缓存
    axios的cdn引入链接以及简单案例
    BGP联盟和团体属性实验
    《梦醒蝶飞:释放Excel函数与公式的力量》1.1.9 Excel智能查找功能
    【vue3 】 创建项目vscode 提示无法找到模块
    【深度学习】浅显易懂的残差网络(Residual Network)
    十四、数据库的导出和导入的两种方法
  • 原文地址:https://blog.csdn.net/weixin_43903639/article/details/132626531