作者Vens (良心健康球来就打)
看板MATLAB
标题[问题] figure 加上colobar 座标数字错乱
时间Fri Aug 31 18:29:45 2012
想跟各位请教这个问题,我目前的作业环境为:
Win7 企业版 64位元 sp1
i7-3770 HD4000 显示晶片,驱动程式版本:8.15.10.2761
在执行Matlab 2010b 以及Matlab 2012a 的时候使用
surf 指令绘图完,一旦加上colorbar ,就会让整个
fiugre 的坐标轴数字,colorbar 上的数字乱掉:
http://imgur.com/a/FIOCr
目前安装的是我找到最新的驱动程式了,请问这是显
示晶片的问题吗,是否要另外使用显卡才能解决,还
是可以透过设定的方法来处理呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.104.67
1F:推 sunev:转个角度试试? 08/31 22:11
2F:→ Vens:把图立体旋转这些乱掉的数字也会跟着转 09/01 00:19
3F:推 sunev:用keyboard,看执行到哪一行才出现数字。 09/01 02:28
4F:→ Vens:做这张图只用了surf(peaks); colorbar; 两行指令而已 09/01 12:32
5F:推 sunev:colorbar是script,可以跟进去看 09/01 15:01
6F:→ Vens:非常感谢你的建议,因为是办公室的电脑,星期一会去试试看 09/02 00:40
7F:→ Vens:在\MATLAB\R2010b\toolbox\matlab\graph3d\@colorbar 找到 09/05 11:33
8F:→ Vens:colorbar.m 直接执行的话跑到c = graph3d.colorbar 会再画 09/05 11:35
9F:→ Vens:一个空白带有座标的图把原来的图盖住,执行到 09/05 11:41
10F:→ Vens:c.ShadowedPropertyListeners = spl; 会在command line 跳出 09/05 11:41
11F:→ Vens:ans = graph3d.colorbar 就结束了,在原figure 里面也没有 09/05 11:41
12F:→ Vens:产生colorbar 09/05 11:42
13F:→ Vens:後来发现如果peaks 的大小是18x18 以下作图加上colorbar 不会 09/05 11:44
14F:→ Vens:有问题;但是当peaks 的大小是19x19 以上的时候作图加上 09/05 11:44
15F:→ Vens:colorbar就会乱掉了 09/05 11:45
16F:推 sunev:不是执行colorbar.m,是执行你的script。 09/05 12:31
17F:→ sunev:keyboard可以跟进去function逐行执行。 09/05 12:32
18F:→ Vens:研究了一下还是不太明白keyboard 怎麽跟进function 里面 09/09 01:58
19F:推 sunev:在Debug选单下,`Step' `Step In' `Step Out' 09/09 17:46
20F:→ Vens:找到了,是在执行toolbox\matlab\scribe\colorbar.m 09/10 12:13
21F:→ Vens:[c,msg]=make_colorbar(peeraxes,location,position,pvpair); 09/10 12:14
22F:→ Vens:这一行的时候画出有问题的colorbar 09/10 12:14
23F:推 sunev:make_colorbar可以再跟进去喔。 09/10 12:44
24F:→ Vens:一直进去到R2010b\toolbox\matlab\scribe\@scribe\@colorbar\ 09/10 15:28
25F:→ Vens:colorbar.m 里面的set(double(h.Image),'visible','on'); 09/10 15:29
26F:→ Vens:再进去R2010b\toolbox\matlab\datatypes\@opaque\double.m 09/10 15:30
27F:→ Vens:从double.m 出来後执行set(double(h.Image),'visible','on'); 09/10 15:31
28F:→ Vens:就画出有问题的colorbar 了 09/10 15:32
29F:推 sunev:这行只是把画好的设成visible,不是真正在画的那一行。 09/10 16:48
30F:→ sunev:把第33行的 scribe.colobar(..... 'visible','off') 改成on 09/10 16:49
31F:→ sunev:存档,继续追 09/10 16:49
32F:→ Vens:把第33行'visible' 改成 'on' 之後执行这一行没有问题,还是 09/11 17:14
33F:→ Vens:在接下来执行 set(double(h.Image),'visible','on'); 的时候 09/11 17:15
34F:→ Vens:画出有问题的 colorbar 09/11 17:19
35F:推 sunev:colobar应该在 第73行用methods做initialize时就出现了 09/12 00:27
36F:→ sunev:你要不要跟进去methods确定一下? 09/12 00:27
37F:→ Vens:这两天再尝试情况又不一样了,当执行到33 行(此时'visible' 09/13 17:31
39F:→ Vens:执行到98 行变成图二,执行到103 行变成图三,如果surf 完 09/13 17:35
40F:→ Vens:直接按figure 视窗上的colorbar 变成图四 09/13 17:36
42F:→ Vens:也曾经在colorbar.m 里面忘记执行到哪一行也出现过上图 09/13 17:44
43F:→ Vens:今天借到一张msi R6850 显卡,装上後就一切正常了,看来是要 09/14 13:47
44F:→ Vens:透过显卡来解决,不然就是要等看看有没有新的HD4000 driver了 09/14 13:48
45F:→ Vens:sunev 非常感谢你的回覆和建议 09/14 13:48