[問題] figure 加上colobar 座標數字錯亂

看板MATLAB作者 (良心健康球來就打)時間13年前 (2012/08/31 18:29), 編輯推噓8(8037)
留言45則, 2人參與, 最新討論串1/1
想跟各位請教這個問題,我目前的作業環境為: 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

08/31 22:11, , 1F
轉個角度試試?
08/31 22:11, 1F

09/01 00:19, , 2F
把圖立體旋轉這些亂掉的數字也會跟著轉
09/01 00:19, 2F

09/01 02:28, , 3F
用keyboard,看執行到哪一行才出現數字。
09/01 02:28, 3F

09/01 12:32, , 4F
做這張圖只用了surf(peaks); colorbar; 兩行指令而已
09/01 12:32, 4F

09/01 15:01, , 5F
colorbar是script,可以跟進去看
09/01 15:01, 5F

09/02 00:40, , 6F
非常感謝你的建議,因為是辦公室的電腦,星期一會去試試看
09/02 00:40, 6F

09/05 11:33, , 7F
在\MATLAB\R2010b\toolbox\matlab\graph3d\@colorbar 找到
09/05 11:33, 7F

09/05 11:35, , 8F
colorbar.m 直接執行的話跑到c = graph3d.colorbar 會再畫
09/05 11:35, 8F

09/05 11:41, , 9F
一個空白帶有座標的圖把原來的圖蓋住,執行到
09/05 11:41, 9F

09/05 11:41, , 10F
c.ShadowedPropertyListeners = spl; 會在command line 跳出
09/05 11:41, 10F

09/05 11:41, , 11F
ans = graph3d.colorbar 就結束了,在原figure 裡面也沒有
09/05 11:41, 11F

09/05 11:42, , 12F
產生colorbar
09/05 11:42, 12F

09/05 11:44, , 13F
後來發現如果peaks 的大小是18x18 以下作圖加上colorbar 不會
09/05 11:44, 13F

09/05 11:44, , 14F
有問題;但是當peaks 的大小是19x19 以上的時候作圖加上
09/05 11:44, 14F

09/05 11:45, , 15F
colorbar就會亂掉了
09/05 11:45, 15F

09/05 12:31, , 16F
不是執行colorbar.m,是執行你的script。
09/05 12:31, 16F

09/05 12:32, , 17F
keyboard可以跟進去function逐行執行。
09/05 12:32, 17F

09/09 01:58, , 18F
研究了一下還是不太明白keyboard 怎麼跟進function 裡面
09/09 01:58, 18F

09/09 17:46, , 19F
在Debug選單下,`Step' `Step In' `Step Out'
09/09 17:46, 19F

09/10 12:13, , 20F
找到了,是在執行toolbox\matlab\scribe\colorbar.m
09/10 12:13, 20F

09/10 12:14, , 21F
[c,msg]=make_colorbar(peeraxes,location,position,pvpair);
09/10 12:14, 21F

09/10 12:14, , 22F
這一行的時候畫出有問題的colorbar
09/10 12:14, 22F

09/10 12:44, , 23F
make_colorbar可以再跟進去喔。
09/10 12:44, 23F

09/10 15:28, , 24F
一直進去到R2010b\toolbox\matlab\scribe\@scribe\@colorbar\
09/10 15:28, 24F

09/10 15:29, , 25F
colorbar.m 裡面的set(double(h.Image),'visible','on');
09/10 15:29, 25F

09/10 15:30, , 26F
再進去R2010b\toolbox\matlab\datatypes\@opaque\double.m
09/10 15:30, 26F

09/10 15:31, , 27F
從double.m 出來後執行set(double(h.Image),'visible','on');
09/10 15:31, 27F

09/10 15:32, , 28F
就畫出有問題的colorbar 了
09/10 15:32, 28F

09/10 16:48, , 29F
這行只是把畫好的設成visible,不是真正在畫的那一行。
09/10 16:48, 29F

09/10 16:49, , 30F
把第33行的 scribe.colobar(..... 'visible','off') 改成on
09/10 16:49, 30F

09/10 16:49, , 31F
存檔,繼續追
09/10 16:49, 31F

09/11 17:14, , 32F
把第33行'visible' 改成 'on' 之後執行這一行沒有問題,還是
09/11 17:14, 32F

09/11 17:15, , 33F
在接下來執行 set(double(h.Image),'visible','on'); 的時候
09/11 17:15, 33F

09/11 17:19, , 34F
畫出有問題的 colorbar
09/11 17:19, 34F

09/12 00:27, , 35F
colobar應該在 第73行用methods做initialize時就出現了
09/12 00:27, 35F

09/12 00:27, , 36F
你要不要跟進去methods確定一下?
09/12 00:27, 36F

09/13 17:31, , 37F
這兩天再嘗試情況又不一樣了,當執行到33 行(此時'visible'
09/13 17:31, 37F

09/13 17:34, , 38F
'on') 變成圖一:http://imgur.com/a/bqkGO
09/13 17:34, 38F

09/13 17:35, , 39F
執行到98 行變成圖二,執行到103 行變成圖三,如果surf 完
09/13 17:35, 39F

09/13 17:36, , 40F
直接按figure 視窗上的colorbar 變成圖四
09/13 17:36, 40F

09/13 17:43, , 41F
執行method 到第61行出現:http://imgur.com/a/luXNB
09/13 17:43, 41F

09/13 17:44, , 42F
也曾經在colorbar.m 裡面忘記執行到哪一行也出現過上圖
09/13 17:44, 42F

09/14 13:47, , 43F
今天借到一張msi R6850 顯卡,裝上後就一切正常了,看來是要
09/14 13:47, 43F

09/14 13:48, , 44F
透過顯卡來解決,不然就是要等看看有沒有新的HD4000 driver了
09/14 13:48, 44F

09/14 13:48, , 45F
sunev 非常感謝你的回覆和建議
09/14 13:48, 45F
文章代碼(AID): #1GG98RLx (MATLAB)