之前写论文的时候,出图用到了局部放大图,当时网上搜到了一个比较好用的函数:magnify.m文件。源自MathWorks社区,下载解压,画完图后载入该文件即可。

1、鼠标停放在想放大的区域,按住右键,此时鼠标点击处出现类似放大镜的方框,可以移动选择要放大的区域,通过'<'和'>'缩小或扩大方框范围,通过'-'和'+'键减小或增加局部缩放比例,调整到自己想到的区域和缩放大小,松开右键即可。重复上述可放大多个,将Figure调整到可选中状态,可移动局部放大图的放置位置。

这个方法用了挺久,也很好用,但是长宽比是不能改的,于是又找到了另外一种方法,即使用matlab自带函数:

axes('Position',[subNormalxLabel,subNormalyLabel,normalWidth,normalHeight])

参数说明:

subNormalxLabel 为子图左下角位置的归一化横坐标,subNormalxLabel为子图左下角位置的归一化纵坐标,计算公式为:
subNormalxLabel = (该位置的横坐标-横坐标起始值)/横坐标量程
subNormalyLabel = (该位置的纵坐标-纵坐标起始值)/纵坐标量程
normalWidth为子图的归一化宽度,normalHeight为子图的归一化高度,计算方式类似。

创建坐标轴对象,那么在一张图中创新两个或多个不同的坐标轴,可实现局部放大功能,且可自己控制子图长宽比。

clear;close;
%先画第一个大图像
set(groot,'defaultAxesColorOrder',[0 0 0;1 0 0],...'defaultAxesLineStyleOrder','--|-|:|-.');% groot refers to the graphics root object——help% 这里的设置对象(groot)不能是h1或h2,否则不起作用% 设置绘制点线的样式和他们的顺序,这里设置的顺序依次为:% 黑色虚线、红色虚线;黑色实线、红色实线;黑色点点、红色点点;黑色点线、红色点线
h1=axes('position',[0.08 0.1 0.85 0.85]); % 创建一个坐标系%让 坐标轴的左下角 与 窗口左侧 的距离时窗口宽度的8%,距离下侧10%%整个坐标轴的宽占85%,高占85%。一个小框就出来了
axes(h1);     %将h1设置为当前坐标系,为绘图准备
Z = peaks; x = 1:length(Z);y = Z(3:10,:);
plot(x,y);   axis(h1,[0,49,-6,0.5]);  %坐标轴句柄h1不能少!%画图     %x的坐标范围是0到2π,y的范围是-0.5到0.5
legend('黑色虚线','红色虚线','黑色实线','红色实线','黑色点点','红色点点','黑色点线','红色点线')% 在原图上插入一个新的小图像
set(groot,'defaultAxesLineStyleOrder','remove','defaultAxesColorOrder','remove');%每次使用记得清除上次设置的参数,否则设置的参数会被保留下来
h2=axes('Position',[0.15 0.15 0.3 0.3]);% 建立的坐标轴把原来的覆盖了是吧?这说明建立坐标轴是在绘图(点、线)之前
axes(h2);                  % 将h2设置为当前坐标系
%plot(rand(10,3));
plot(x,y)
set(h2,'xlim',[10 15]);

Matlab绘图基本——局部放大图相关推荐

  1. MATLAB绘图—如何局部放大图

    标题MATLAB绘图-如何局部放大图 原创不易,路过的各位大佬请点个赞 MATLAB基础代码/优化技术探讨:WX: ZB823618313 直接上代码,先 仅局部放大绘图 N=20000; i=1:1 ...

  2. Matlab绘图高级部分

    转载自:http://www.cnblogs.com/jeromeblog/p/3396494.html 图形是呈现数据的一种直观方式,在用Matlab进行数据处理和计算后,我们一般都会以图形的形式将 ...

  3. matlab在绘图区加格栅,实验二(2) MATLAB绘图

    实验二(2)MATLAB绘图 一.实验目的 1.掌握matlab二维图形的绘制方法, 会对所绘图形进行加格栅,图例和标注等一些简单的处理: 2.了解对数坐标图的绘制方法: 3.了解符号函数(显函数.隐 ...

  4. Matlab绘图详细总结

    Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...

  5. matlab绘图大全

    Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数.此外,M ...

  6. matlab绘图标题含有n=变量的方法(类似c语言)

    按照惯例,先给出结果: 这里的n=5 是自动生成的,类似于c语言的printf输出. 这里我们使用的是 sprintf()函数. 实现title含有n=5(或者某一个数字)的具体的代码如下: titl ...

  7. Matlab绘图基础——利用axes(坐标系图形对象)绘制重叠图像 及 一图多轴(一幅图绘制多个坐标轴)

    Matlab绘图基础--利用axes(坐标系图形对象)绘制重叠图像 及 一图多轴(一幅图绘制多个坐标轴) - 司徒鲜生 - 博客园 Matlab中axes函数解析_ljh0302的博客-CSDN博客_ ...

  8. matlab hist函数_算法工匠MATLAB专训营:Matlab绘图,小试牛刀

    作者 | 蔡老师 仿真秀专栏作者 首发 | 仿真秀平台 导读:正文之前,我在此详细说明一下,因为本文包含的程序太难得,网上肯定找不到这样的程序.随着讲课的越来越深入,我给出的程序会越来越实用,接近于实 ...

  9. Matlab绘图--包含各种标示符的输入方法

    Matlab绘图–包含各种标示符的输入方法. 文档汇总利润Matlab绘图各种标示符的输入方法 适合MATLAB学习者查阅使用 文档包含了整理的所有内容 完整版 标记符号 实线 b蓝色 . 点 s 方 ...

最新文章

  1. LLVM与Clang局部架构与语法分析
  2. 产品项目的九个敏捷开发经验
  3. html表格自动换行
  4. (转载)jQuery 1.6 源码学习(一)——core.js[1]之基本架构
  5. spring基于注解的IOC以及IoC的案例——概念
  6. SAP云服务新订购量增长103%
  7. 编写一个c程序的头文件
  8. 《终于有人说出来了——Java不适合于作为主要编程教学语言》我的看法
  9. kibana操作elasticsearch:多词条精确匹配(terms)
  10. 香蕉派,蜘蛛侠手臂和USO世界
  11. 快速清理Exchange 2003中的SMTP队列
  12. 【收藏】10个重要问题概览Transformer全部内容
  13. 【身份牌识别】基于matlab GUI模板匹配身份牌识别【含Matlab源码 1354期】
  14. git管理工具从网上检索下来的项目没有绿色对勾
  15. B2 Spice A/D v4.1.2.0 Pro
  16. ACCESS中Dlookup函数使用
  17. html5制作星星闪烁和制作时钟
  18. Linux中离线安装R语言程序包
  19. 无数个骂娘的故事告诉你,千万别做技术合伙人
  20. 2020-2021前端面试题合集,面试题附答案

热门文章

  1. Codeforces B - Fix You
  2. 1155:回文三位数
  3. IE/Firefox 自动关闭窗口
  4. A1-2019年全国电子设计大赛综合测评multisim仿真
  5. 升级 Ubuntu Linux 内核的几种不同方法 | Linux 中国
  6. 阿里巴巴YunOS在CES上展示IoT生态
  7. android设备驱动之 v4l2,Android设备驱动之——V4L2
  8. 修复gnome3下chrome鼠标主题不正确的问题
  9. 安装虚拟机,”intel vt-x 处于禁用状态“ 如何开启
  10. AviConverter v4.0是一款非常棒的Avi视频转换工具