matlab 界面设计中怎么把axes放在最上层
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab 界面设计中怎么把axes放在最上层相关的知识,希望对你有一定的参考价值。
1、楼上所说Layer属性不靠谱,该属性只决定axes的坐标轴、Tick等要素是否被坐标系里面的对象如patch、surface、image等所遮盖,与其它无关。
2、楼主的要求做不到。对于同一类型的图形对象,可以通过设置Children的顺序来调整其显示顺序,但是,GUIDE里面的text属于uicontrol控件,而控件总是显示在axes的前面,这一点据我所知无法改变。
3、一般来说,text应该和axes放在不同的位置,便发生重叠。如果确实有需要把text放在axes的后面显示,可以考虑单独为text创建一个axes,并将axes属性设为不可见,然后在该axes上面使用text函数创建文字对象(注意,不是uicontrol),应该可以达到这个目的。但是:(1)这个似乎只能通过编程实现,无法用GUIDE来做;(2)我仍然不认为有需要用axes遮盖text的这种应用场景。
参考技术A 这plot之后,可以增加参数,控制线型或者marker的显示风格例如
plot(x,y,'--rs','LineWidth',2,... %线型为红色虚线,marker为方框,线粗细设定为2
'MarkerEdgeColor','k',... %marker边缘颜色设定为黑色
'MarkerFaceColor','g',... %marker内部颜色设定为绿色
'MarkerSize',10) %marker大小设定为10
如果你只需要设定大小,那么只需要最后一个设定就可以了
大小有后面的数字决定 参考技术B 右键点击那个axes,有个“置于顶层(Ctrl+F)” 参考技术C set(gca,'Layer','top')追问
是在界面设计中,我添加这个图层总是被text层挡在最底下
追答什么意思?
matlab gui 中怎样 让图形和axes大小一样;
lz问的是让图像和axes一样大,而不是axes和图像一样大。如果lz是想让图像显示出来和axes一样大,就在调用imshow的时候最后加一个参数 'fit'。如果图像长宽比例和axes不一样,显示结果会造成挤压变形。
如果lz是想让图像本身数据变的和axes一样大,就需要用imresize函数来改变图像尺寸。 参考技术A 让axes的坐标显示范围设置为图形的范围。
axes(xmin xmax ymin ymax),前两个是横轴的范围,后两个是纵轴的范围。
以上是关于matlab 界面设计中怎么把axes放在最上层的主要内容,如果未能解决你的问题,请参考以下文章
怎么设置matlab gui axes的,x,y坐标的范围x表示时间,y表示温度
Matlab GUI中Axes控件的View Callbacks为啥没有WindowButtonDownFcn等一系列的函数?