matlab中patch命令_matlab 放大平移图形是超出边界问题的处理
matlab提供的图形放大和平移函数zoom和pan可以通过鼠标来控制图形,非常方便,在工具条toolbar上也有对应的按钮。但是在放大或平移自己画的数据图是,有时会出现部分图形超出了坐标系的边界的问题,非常奇怪。
经分析和试验,发现问题主要是由于坐标系axes所属的父容器parent的不同,造成了不同的结果,如果指定axes的父容器为窗体figure,则不会出问题,如果指定axes的父容器为面板uipanel,则用patch、bar等命令画的图形对象就会超出坐标轴,而用line、plot命令画的线条图形对象不会超出坐标轴。
如图:
对应的程序:
x2 = [0.7 1.7; 0.7 1.7; 1.3 2.3;1.3 2.3];y2 = [4.5 4.5; 5.5 5.5; 5.5 5.5;4.5 4.5];f = figure('menubar','none','toolbar','none');p = uipanel('backgroundcolor',[0.247 0.247 0.247],'pos',[0.01 0.01 0.98 0.98]);ax = axes('parent',p,'color','k','pos',[0.1 0.1 0.8 0.8]);hold on;patch(x2,y2,'green');for i = 1:10line([i i],[4 6],'Color','green');endbar(2+random('normal',0,1,1,10));pan xon;
其中ax =axes('parent',p,'color','k','pos',[0.10.10.80.8]); 语句指定了ax坐标轴的父容器为面板p。
修改坐标轴的父容器为figure的效果:
对应代码时将:ax =axes('parent',p,'color','k','pos',[0.10.10.80.8]); 修改为:ax =axes('parent',f,'color','k','pos',[0.10.10.80.8]);就可以了。
修改后的坐标系不再是面板uipanel的子控件了,而升级到了uipanel的同一辈分,都是figure窗体的子控件了。
matlab中patch命令_matlab 放大平移图形是超出边界问题的处理相关推荐
- matlab中patch命令_matlab中patch函数的用法——emily
patch 创建补片图形对象 句法: patch(X,Y,C) patch(X,Y,Z,C) patch(FV) patch(...'PropertyName',propertyvalue...) p ...
- matlab中patch命令_matlab中patch函数的用法
描述: patch是个底层的图形函数,用来创建补片图形对象.一个补片对象是由其顶点坐标确定的一个或多个多边形.用户可以指定补片对象的颜色和灯光. patch(X,Y,C) 添加已填充的二维补片到当前坐 ...
- matlab中patch命令_matlab中图像块(patch)处理命令小结
在使用MATLAB语言实现图像处理算法时,我们常常会遇到需要对图像块(patch)进行运算的情况.受到其他语言编程习惯的影响,循环通常是不假思索的第一选择.但由于matlab是利于矩阵运算的编程语言, ...
- matlab中patch是什么意思,Linux中patch命令起什么作用呢?
摘要: 下文讲述Linux中patch命令的功能说明,如下所示: patch命令功能: 可修复,修改,更新原始文件 patch常用于修复linux内核文件 patch命令的语法格式: patch [参 ...
- 如何将matlab中多个m文件的图形,在一个图形上面显示
将matlab中多个m文件的图形在同一个小窗口上显示的前提是坐标系相同,下面就做简单的介绍: 1.新建一个huatu1.m文件,三角函数为例,程序如下: x=0:1:360; y=sind(x); p ...
- matlab中patch函数的用法
描述: patch是个底层的图形函数,用来创建补片图形对象.一个补片对象是由其顶点坐标确定的一个或多个多边形.用户可以指定补片对象的颜色和灯光. patch(X,Y,C) 添加已填充的二维补片到当前坐 ...
- matlab中ss函数_matlab状态空间模型(matlab中如何通过ss函数和tf2ss函数将微分方程转化...)...
matlab中如何通过ss函数和tf2ss函数将微分方程转化... 例如下面的一道题. 方法一: num=[0 0 10 10]; den=[1 6 6 10]; [A,B,C,D]=tf2ss(nu ...
- matlab函数fftshift,matlab中fft算法_matlab中fftshift函数_matlab中fft函数的用法(2)
plot([0 : PointNum/2 - 1], x1(1:PointNum/2)); grid on subplot(3,1,2); % [REX IMX] am = sqrt(abs(REX. ...
- matlab dotchart,MATLAB中如何用对数方式显示图形坐标?
前言 当我使用MATLAB画了一幅曲线图之后,例如: 由于x轴10以下的单位内,y值比较小,而之后比较大,因此,我想更清晰地看y值得变化趋势,因此我想用对数标准的方式来显示y. 方法1 在画图程序的后 ...
最新文章
- react源码学习笔记
- 蓝桥杯-操作格子(java)
- Android UI之ImageButton(带图标的按钮)
- android照片备份软件下载,照片备份云相册app下载-照片备份云相册下载V1.9安卓版-西西软件下载...
- raspberry pi 家族
- CLIP还能做视频字幕任务!腾讯清华提出CLIP4Caption,ACM MM2021挑战赛第二名!
- SpringBoot的MyBatis generator 注解方式和xml方式 (四)
- Java之for和while的内容
- 4核处理器_4核、6核以及8核 游戏玩家如何按需购买CPU
- CCF NOI1070 汉诺塔游戏
- IO口模拟SPI总线问题
- 系统分析师 考试大纲
- xp系统从u盘启动计算机,教你怎么用U盘安装Windows XP系统
- 品味kettle--(一)用eclipse 搭建源码
- 今日早报 每日精选12条新闻简报 每天一分钟 知晓天下事 9月24日
- self-startup command line(or CLI) in windows
- C语言中的 @ 符号
- Vue指令之列表渲染
- 刷题找工作《买卖股票问题》一文通解
- 将固态硬盘作为缓存的设置方法