码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • matlab绘制局部放大图


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

    简单使用

    其实使用这个库只需要项目文件中包含 BaseZoom.m 和 parameters.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)

    缩小后移动到想要的位置

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


    在这里插入图片描述

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

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

    大概是这个意思

  • 相关阅读:
    【vant】 单元格cell右侧怎么自定义样式
    掌握音视频转换的艺术:用FFmpeg解锁多媒体的无限可能
    对内 DDD 对外 API 之—对外 API 的设计理念
    1288v3安装win10系统卡顿
    搭建分布式事务组件 seata 的Server 端和Client 端详解(小白都能看懂)
    机器学习笔记 十七:基于Gini Importance、Permutation Importance、Boruta的随机森林模型重要性评估的比较
    如何在 JavaScript 中使用对象解构
    java毕业设计诚越园区垃圾分类信息科普系统Mybatis+系统+数据库+调试部署
    《你不知道的javaScript》中卷——第一部分——第一章——类型
    逻辑回归-关于WOE和IV的一些理解
  • 原文地址:https://blog.csdn.net/weixin_43903639/article/details/132626531
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号