2017-03-22 64 views
0

我創建了一個包含多個圖的GUI。在一些我有一維直方圖,和垂直線,改變位置,當我點擊的情節。正如這裏的例子是分配給一個情節線:使用圖像繪圖時點擊時的操作

lines.L1 = line([0.01 0.01],[0 max(e1)],'Color','red'); 
set(lines.L1,'parent',handles.plot_e1); 

而且回調函數我只是改變了「擴展數據」和「YDATA」和重新繪製的線。比較簡單。

我的問題是,爲什麼我不能使用'imagesc'函數爲一個2D直方圖(我想是「heatmap」)成像的情節做這件事?在繪製點擊移動線條之前,我很好,但是一旦我使用imagesc繪圖,沒有任何事情發生,沒有錯誤信息或任何東西。實際上,回調函數根本不運行。

有沒有更好的方式來繪製一個顏色圖例的2D直方圖,這將允許我像使用一維直方圖一樣使用回調函數?

回答

1

的問題是,你必然回調到axesButtonDownFcnimagesc對象掩蓋了axes,並擁有自己的ButtonDownFcn。您可以回調分配到圖像的ButtonDownFcn以及

him = imagesc(data); 
set(him, 'ButtonDownFcn', @callback) 

或者你可以指示image對象不按下按鈕轉動HitTest屬性'off'

him = imagesc(data); 
set(him, 'HitTest', 'off') 
+0

這是完全響應問題。非常感謝! – Devin