MATLAB - adding additional data to surface plot tooltip
Show older comments
I have created a cylinder with the help of a surface plot and a 360x512 matrix with some data(named map100).
When i put my cursor over the cylinder i see my X,Y,Z on the tooltip as expected. However i would also like to see the matrix(map100) value for that point on the tooltip as well. Is this possible ? and if so how?
Any help is much appreciated..
Answers (1)
Walter Roberson
on 5 Nov 2020
1 vote
See https://www.mathworks.com/help/matlab/creating_plots/create-custom-data-tips.html for R2019a and later.
I just confirmed that surf() do have the needed property.
9 Comments
Ali Shakeri
on 5 Nov 2020
Walter Roberson
on 5 Nov 2020
row = dataTipTextRow('m100', map100);
cyl.DataTipTemplate.DataTipRows(end+1) = row;
I think.
Ali Shakeri
on 5 Nov 2020
Works for me when I try in R2020b.
z = randi(9, 30, 50);
map100 = sort(z) + randn(size(z));
cyl = surf(z);
row = dataTipTextRow('m100', map100);
cyl.DataTipTemplate.DataTipRows(end+1) = row;
Ali Shakeri
on 5 Nov 2020
Ali Shakeri
on 5 Nov 2020
Walter Roberson
on 6 Nov 2020
I do not have your file or your input matrix to test with, and I posted demonstration code that showed that my approach works.
What is size(map100) ? It looks most likely to be 2D to me, but I cannot prove it from what has been posted.
You could try
row = dataTipTextRow('m100', 'map100');
cyl.DataTipTemplate.DataTipRows(end+1) = row;
Ali Shakeri
on 6 Nov 2020
Walter Roberson
on 6 Nov 2020
Did you try my sample code? Did it work for you?
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!