【亲测有效

在作图过程中,如果想将局部信息展示出来并且画在同一张图中,一般的MATLAB作图法就比较拙计了,好在MATLAB还是很强大的,当然,除了不能当女朋友之外 .... ╮(╯▽╰)╭

 function showdetail()% 在当前的axes上操作,用矩形框选出感兴趣的一
% 块区域然后在现有的axes里新建一axes将其画出set(gcf,'color','white');
% 拿到axes在figure中的坐标值及其刻度值分布范围
Pos   = get(gca,'Position');
X0    = Pos(1);
Y0    = Pos(2);
DX    = Pos(3);
DY    = Pos(4);
DLX   = xlim;
DLY   = ylim;% 拿到axes中曲线数据
h     = findobj(gcf,'Type','line');
xdata = get(h,'XData');
ydata = get(h,'YData');
Color             = get(h,'Color');
LineStyle         = get(h,'LineStyle');
LineWidth         = get(h,'LineWidth');
Marker            = get(h,'Marker');
MarkerSize        = get(h,'MarkerSize');
MarkerEdgeColor   = get(h,'MarkerEdgeColor');
MarkerFaceColor   = get(h,'MarkerFaceColor');% 选取需要放大显示的细节部分ROI
h1   = imrect;                   % 框选出需要的区域
wait(h1);
pos  = getPosition(h1);          % 返回区域的位置和大小
x0   = pos(1);
y0   = pos(2);
dx0  = pos(3);
dy0  = pos(4);% 细节部分的下标
if  iscell(xdata) == 0 indx1  = find( xdata >= x0 );indx2  = find( xdata <= x0+dx0 );indx   = indx1(1):indx2(end);
elsem      = length(xdata);indx1  = find( xdata{1}>=x0 );indx2  = find( xdata{1}<=x0+dx0 );indx   = indx1(1):indx2(end);
endhold on;
LineX = x0:dx0/10:x0+dx0;
LineY = y0:dy0/10:y0+dy0;
plot(LineX,y0*ones(size(LineX)),'k');
plot(LineX,(y0 + dy0)*ones(size(LineX)),'k');
plot(x0*ones(size(LineY)),LineY,'k');
plot((x0+dx0)*ones(size(LineY)),LineY,'k');h2  = imrect;
wait(h2);
pos = getPosition(h2);
x   = pos(1);
y   = pos(2);
dx  = pos(3);
dy  = pos(4);xn  = X0 + DX*(x - DLX(1))/( DLX(2) - DLX(1) );
yn  = Y0 + DY*(y - DLY(1))/( DLY(2) - DLY(1) );
dxn = DX*dx / ( DLX(2) - DLX(1) );
dyn = DY*dy / ( DLY(2) - DLY(1) );
delete(h1);
delete(h2);
axes('Position', [xn yn dxn dyn]);if  iscell(xdata) == 0 plot(xdata(indx),ydata(indx),...'Color',Color,...'LineStyle',LineStyle,...'LineWidth',LineWidth,...'Marker',Marker,...'MarkerSize',MarkerSize,...'MarkerEdgeColor',MarkerEdgeColor,...'MarkerFaceColor',MarkerFaceColor);
elsefor i = 1:mplot(xdata{i}(indx),ydata{i}(indx),...'Color',Color{i},...'LineStyle',LineStyle{i},...'LineWidth',LineWidth{i},...'Marker',Marker{i},...'MarkerSize',MarkerSize{i},...'MarkerEdgeColor',MarkerEdgeColor{i},...'MarkerFaceColor',MarkerFaceColor{i});hold on;endend
set( gca , 'Box', 'off');
axis([x0 x0+dx0 y0 y0+dy0]);
hold off;end

先准备好一张图,然后直接在命令行里运行

showdetail();

然后分为如下几部操作:

【1】这是事先准备好的一张图

【2】运行程序后选择ROI,即感兴趣的区域,双击左键确定

【3】选择你想要放置的地方,双击左键确定

【4】成品图

再次感受到了MATLAB的强大。。。。。当然,这里并没讲什么气泡动力学,只是借用了一张数值解的图......( ̄▽ ̄).....,下一章应该会讲一讲瑞利气泡动力学 ( ̄︶ ̄)

matlab局部放大的图中图画法相关推荐

  1. 在MATLAB的figure图中画局部放大的图中图

    在MATALB绘图中,有时会遇到这样的情况,需要通过放大figure图的局部,针对细节加以说明.例如:在给定的尺度下有两条或多条曲线难以区别,此时就需要对其进行局部放大来加以区分.参考网上的解决方法1 ...

  2. matlab画一个局部放大的图中图

    局部放大的图中图 第一种:magnify是个动态放大镜,固化后可以用tools>editplot移动小图,能选取多个局部图,这个方法不错 用法:打开figure图,输入magnify,左键动态选 ...

  3. matlab画一个放大图中图

    matlab画一个放大图中图 1 magnify介绍 2 具体思路 3 具体步骤 4 参考 1 magnify介绍 magnify是个动态放大镜,固化后可以用tools>edit plot移动小 ...

  4. MATLAB中使用magnify做图中图

    网上一般有三种方法在MATLAB中做图中图,但是我感觉使用magnify是magnify是个动态放大镜,固化后可以用tools>edit plot移动小图,能选取多个局部图.下面详细讲解其使用方 ...

  5. 14_面向对象API绘图、图中图 (A Plot inside of Another Plot)、设定绘图范围Setting the Plot Range、对数尺度Logarithmic Scale

    14.面向对象API绘图 14.1.图中图 (A Plot inside of Another Plot) 14.2.设定绘图范围 (Setting the Plot Range) 14.3.对数尺度 ...

  6. Python画图(直方图、多张子图、二维图形、三维图形以及图中图)

    Python画图很方便,不管是平时的学习还是教学当中,都将经常用到,特别直观,其中主要用到两个常用的库,一个二维和三维的:matplotlib.pyplot,mpl_toolkits.mplot3d ...

  7. python(matplotlib8)——图中图(在figure中画多个坐标图),次坐标(两个y轴)

    文章目录 前言 图中图 次坐标(两个y轴) 前言 来自 莫烦python的总结. 图中图 left,bottom,width,height = 百分比 fig = plt.figure() x = [ ...

  8. ARCGIS制作图中图——小图/一幅多图

    文章目录 1.中国完整政区的shape文件制作 2 制作图中图 2.1 选择目标区域 2.2 选择目标区域 2.3 创建研究区shapefile 2.3 创建研究区shapefile 3 最后的小调整 ...

  9. Python利用matplotlib做图中图及次坐标轴

    图中图 准备数据 import matplotlib.pyplot as pltfig = plt.figure() x = [1, 2, 3, 4, 5, 6, 7] y = [1, 3, 4, 2 ...

  10. chatgpt赋能python:Python中的图中图:什么是图中图?如何使用?

    Python中的图中图:什么是图中图?如何使用? 在Python中的数据可视化中,图中图是一种非常有用的工具,它可以帮助我们以一种清晰而有用的方式展示更多的信息.从字面上看,图中图意味着图形中包含另一 ...

最新文章

  1. 计算机php外文翻译,php外文翻译.doc
  2. bp神经网络pid控制_文章推荐 | BP神经网络PID控制器在无人机编队飞行中的应用...
  3. CTF-杂项16进制字符串类型的题目
  4. 进程间通信 - 命名管道实现
  5. 超低内阻mos管_FHU100N03低压MOS管保障榨汁机电路正常运行!
  6. linux mount挂载大小,Linux中mount挂载问题小结
  7. BZOJ.4727.[POI2017]Turysta(哈密顿路径/回路 竞赛图)
  8. php的图像处理有哪些实际作用,PHP_一个经典实用的PHP图像处理类分享,本图像处理类可以完成对图片 - phpStudy...
  9. [Ext JS ][12.13] FieldSet 与 Grid结合 ,实现FieldSet 显示Gird中Store 的数量
  10. [导入]新网络流行语 打酱油 三个俯卧撑
  11. c#高级编程第11版 pdf网盘_C#高级编程第11版 - 概述
  12. 下载 针式PKM V9.08 版
  13. 代码记录:易语言中精易模块的json文本数据生成
  14. ICCV2019论文题目中文列表
  15. (matlab) figure中画多条线,并对每条线依次加标注
  16. c/c++ notify/wait 消息机制
  17. GDOC CEO Musk Shing出席“链接未来”区块链全球人才交流会
  18. -1. HTMLCSS 基础总结
  19. 《红楼梦》金陵十二钗判词及赏析
  20. Drynx: 基于区块链的去中心化隐私保护机器学习系统

热门文章

  1. Angular自学笔记(?)属性型指令
  2. 操作系统原理之操作系统简介(第一章)
  3. kubernetes--配置文件
  4. [上下界网络流][二分] Bzoj P2406 矩阵
  5. 使用Ajax解析数据遇到的问题
  6. 这可能是我见过最详细的快速排序!
  7. 关于_vmvare workstation装32ubuntu的问题
  8. dedecms最新版本修改任意管理员漏洞
  9. Virtural Box 虚拟ubuntu 修改分辨率
  10. Vue项目中如何设置动态的TDK