Ich möchte Tooltips für jede Zeile in einem baumplotähnlichen Diagramm in MATLAB erstellen. Ich verwendete Code-Beispiele das folgende Skript zu erstellen, die zeigt, ob die Maus über eine Leitung Objekt ist:MATLAB: Erstellen von QuickInfos für mehrere Linienobjekte in einem Plot mit WindowButtonMotionFcn
function test_mouseover2
f=figure(1);
axis([0 1 0 1]);
L=line([0.2500 0.5000], [0.6 0.8], 'Color','red');
set(f,'WindowButtonMotionFcn',{@mousemove,L,process});
end
function mousemove(src,ev,L,process)
obj = hittest(src);
if obj == L
disp('Yes');
else
disp('No');
end
end
In meinem weiteren Projekt, das ich mehrere Zeilen in der Handlung müssen. Das einfache Beispiel im Folgenden zeigt, dass zwei Linien geplottet sind. Allerdings ist das Ergebnis in dem Befehlsfenster immer „Nein“:
function test_mouseover2
f=figure(1);
axis([0 1 0 1]);
L=line([0.2500 0.5000; 0.125 0.25], [0.6 0.8; 0.2 0.6], 'Color','red');
set(f,'WindowButtonMotionFcn',{@mousemove,L,process});
end
function mousemove(src,ev,L,process)
obj = hittest(src);
if obj == L
disp('Yes');
else
disp('No');
end
end
Gibt es einen anderen Ansatz zu überprüfen, ob die Maus über eine Leitung Objekt ist oder nicht?
Vielen Dank. Weißt du, ob es möglich ist, das eine Element von 'L' zu erhalten, das mit' obj' übereinstimmt? – stm
@stm 'find (obj == L)' gibt den passenden Index zurück (oder eine leere Matrix, wenn keine Übereinstimmung) – zeeMonkeez
Wow, es ist so einfach ... Nochmals vielen Dank für Ihre Hilfe! – stm