matlab局部放大的图中图画法
【亲测有效】
在作图过程中,如果想将局部信息展示出来并且画在同一张图中,一般的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局部放大的图中图画法相关推荐
- 在MATLAB的figure图中画局部放大的图中图
在MATALB绘图中,有时会遇到这样的情况,需要通过放大figure图的局部,针对细节加以说明.例如:在给定的尺度下有两条或多条曲线难以区别,此时就需要对其进行局部放大来加以区分.参考网上的解决方法1 ...
- matlab画一个局部放大的图中图
局部放大的图中图 第一种:magnify是个动态放大镜,固化后可以用tools>editplot移动小图,能选取多个局部图,这个方法不错 用法:打开figure图,输入magnify,左键动态选 ...
- matlab画一个放大图中图
matlab画一个放大图中图 1 magnify介绍 2 具体思路 3 具体步骤 4 参考 1 magnify介绍 magnify是个动态放大镜,固化后可以用tools>edit plot移动小 ...
- MATLAB中使用magnify做图中图
网上一般有三种方法在MATLAB中做图中图,但是我感觉使用magnify是magnify是个动态放大镜,固化后可以用tools>edit plot移动小图,能选取多个局部图.下面详细讲解其使用方 ...
- 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.对数尺度 ...
- Python画图(直方图、多张子图、二维图形、三维图形以及图中图)
Python画图很方便,不管是平时的学习还是教学当中,都将经常用到,特别直观,其中主要用到两个常用的库,一个二维和三维的:matplotlib.pyplot,mpl_toolkits.mplot3d ...
- python(matplotlib8)——图中图(在figure中画多个坐标图),次坐标(两个y轴)
文章目录 前言 图中图 次坐标(两个y轴) 前言 来自 莫烦python的总结. 图中图 left,bottom,width,height = 百分比 fig = plt.figure() x = [ ...
- ARCGIS制作图中图——小图/一幅多图
文章目录 1.中国完整政区的shape文件制作 2 制作图中图 2.1 选择目标区域 2.2 选择目标区域 2.3 创建研究区shapefile 2.3 创建研究区shapefile 3 最后的小调整 ...
- Python利用matplotlib做图中图及次坐标轴
图中图 准备数据 import matplotlib.pyplot as pltfig = plt.figure() x = [1, 2, 3, 4, 5, 6, 7] y = [1, 3, 4, 2 ...
- chatgpt赋能python:Python中的图中图:什么是图中图?如何使用?
Python中的图中图:什么是图中图?如何使用? 在Python中的数据可视化中,图中图是一种非常有用的工具,它可以帮助我们以一种清晰而有用的方式展示更多的信息.从字面上看,图中图意味着图形中包含另一 ...
最新文章
- 计算机php外文翻译,php外文翻译.doc
- bp神经网络pid控制_文章推荐 | BP神经网络PID控制器在无人机编队飞行中的应用...
- CTF-杂项16进制字符串类型的题目
- 进程间通信 - 命名管道实现
- 超低内阻mos管_FHU100N03低压MOS管保障榨汁机电路正常运行!
- linux mount挂载大小,Linux中mount挂载问题小结
- BZOJ.4727.[POI2017]Turysta(哈密顿路径/回路 竞赛图)
- php的图像处理有哪些实际作用,PHP_一个经典实用的PHP图像处理类分享,本图像处理类可以完成对图片 - phpStudy...
- [Ext JS ][12.13] FieldSet 与 Grid结合 ,实现FieldSet 显示Gird中Store 的数量
- [导入]新网络流行语 打酱油 三个俯卧撑
- c#高级编程第11版 pdf网盘_C#高级编程第11版 - 概述
- 下载 针式PKM V9.08 版
- 代码记录:易语言中精易模块的json文本数据生成
- ICCV2019论文题目中文列表
- (matlab) figure中画多条线,并对每条线依次加标注
- c/c++ notify/wait 消息机制
- GDOC CEO Musk Shing出席“链接未来”区块链全球人才交流会
- -1. HTMLCSS 基础总结
- 《红楼梦》金陵十二钗判词及赏析
- Drynx: 基于区块链的去中心化隐私保护机器学习系统