create datatip on a surface

8 visualizzazioni (ultimi 30 giorni)
reza aghaee
reza aghaee il 8 Lug 2020
Commentato: reza aghaee il 30 Gen 2021
a = 0 : 0.1 : 1;
b = 0 : 0.1 : 1;
[bb,aa] = meshgrid(b,a);
Acc = aa.^2 - bb.^2;
ss = surf(aa,bb,Acc);
c = a(2)^2 - b(4).^2;
datatip(ss,a(2),b(4),c);
Hi,
why this part of my code does not work correctly?
I want to create datatip on 0.1,0.3,-0.08 but it create on 0,0,0

Risposta accettata

Takashi Matsubara
Takashi Matsubara il 22 Gen 2021
I have the same problem.
In surf or mesh, datatip with coordinate x,y,z may not work correctly.
datatip with 'DataIndex' may work correctly.
For DataIndex, sub2ind can be used.
In this case, below code may work correctly.
a = 0 : 0.1 : 1;
b = 0 : 0.1 : 1;
[bb,aa] = meshgrid(b,a);
Acc = aa.^2 - bb.^2;
ss = surf(aa,bb,Acc);
c = a(2)^2 - b(4).^2;
id=sub2ind(size(Acc),2,4);
datatip(ss,'DataIndex',id);

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by