作者Nestomato (布袋里的番茄)
看板MATLAB
标题[绘图疑问] 如何让axes上画的线独立消失?(文长)
时间Tue Jan 31 11:53:15 2017
(文长抱歉QQ)
版上的各位好> <
小妹是 matlab 新手
最近想要绘图展示数据时遇到了一个瓶颈
小妹使用 GUI介面拖出了 14个 checkbox以及一张 axes
让使用者自由选取想要的数据做比对
(以下将 checkbox 简称 cb)
例如:当使用者选取cb1、cb7和cb5时,同时在axes1上绘出三条对应的曲线
当使用者取消 cb1 时,cb1所对应的曲线消失,其他曲线则保留在axes1上
也就是说,当使用者选择或取消任何cb时,该cb所对应的曲线将会独立出现或消失
---------------------------问题点-------------------------------
目前小妹的问题在於曲线无法单独消除,所以小妹立刻去询问了google大神
查询到了许多方法,但使用後都不合要求
因此小妹想问问版上的高手们,不知道matlab是否还有符合小妹需求的指令可以使用?
谢谢各位版友看完这篇长文 > <
以下先补充一个小妹曾使用过但觉得不合要求的方法,说不定其中藏有关键只是小妹不清楚,
有待版上高手提点了 > <
1.利用坐标轴的children属性删除上一次的绘图记录
用法是 h = get(handles.axes1,'children'); % 取得axes1的children值
delete(h(1)); %删除上一次的绘图记录
可是因为它是删除「上一次」的绘图记录,所以若我是依照cb1->cb7->cb4的顺序选取
就只能取消 cb4 的曲线,不能取消其他的,这样曲线就不是独立消失了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.12.245.227
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1485834806.A.64B.html
1F:推 sunev: 在画的时候拿handle, h1=plot(...) h7=plot(...) 01/31 17:00
2F:→ sunev: 删的时候就可以指定来删 delete(h1) delete(h7) 01/31 17:01
原来plot也可以拿handle~谢谢sunev大大,我搭配pause之後做出我要的东西了~~
3F:推 sppmg: (凭印象)用line物件, set visible off 02/01 00:27
4F:→ sppmg: plot可能会覆盖吧?变成一线一图。 02/01 00:28
5F:→ sppmg: 建议用GUI Layout Toolbox(in file exchange)不要自己拉, 02/01 00:31
6F:→ sppmg: 好看也易於程设。 02/01 00:31
7F:→ sppmg: 如果希望line在点下时才绘制,可由callback函数即时建立 02/01 00:32
感谢sppmg大大的回覆~> <,我还在研究line物件,对它比较不熟QQ
另外,因为小妹从来没听过 GUI Layout Toolbox...QQ
所以想问您这个工具箱做出来的使用者介面是不是跟一般用拉的那种GUI不一样
还有哪里可以找到它的语法介绍呢 ? > <
※ 编辑: Nestomato (101.12.247.85), 02/02/2017 15:06:43
8F:推 sppmg: 它可自动调各元件位置,缩放不跑掉。做大量元件排列很好用 02/02 17:23
9F:→ sppmg: 。说明的话,里面附的说明书就很清楚了。 02/02 17:23
我使用的是学校版本的所以没有说明书XD
不过有自己去网路上看一些资料了
感谢sppmg大大提供的建议~
※ 编辑: Nestomato (120.114.181.163), 02/11/2017 21:12:02
10F:→ sppmg: 它是免费的喔!要从exchange上抓来装 02/14 19:23