作者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