How to display minimum vaue of a Surface z-axis.
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have drew a trisurf with 100 values in each x,y and z variable, and I want to display the least 10 data values of z on the surface over the location of the points .
0 commentaires
Réponses (2)
Image Analyst
le 21 Déc 2012
Modifié(e) : Image Analyst
le 21 Déc 2012
sortedValues = sort(z(:), 'ascend');
fprintf('%f\n', sortedValues(1:10));
Use text() if you want to display some message above the data point.
1 commentaire
Image Analyst
le 21 Déc 2012
Modifié(e) : Image Analyst
le 21 Déc 2012
I noticed your attempt at using text below:
text(Xmin+xgap, Ymin+ygap, Zmin+zgap);
like I suggested, but where is the message you want to display? You didn't supply it. Try creating a message like I said:
message = sprintf('Zmin=%.2f', Zmin); % Create string for the Zmin point.
text(Xmin+xgap, Ymin+ygap, Zmin+zgap, message);
Matt Kindig
le 21 Déc 2012
Modifié(e) : Matt Kindig
le 21 Déc 2012
You can do this using text() function. Something like this:
%Xval, Yval, and Zval are your MxN matrices used to make the surface.
Zmin = sort(Zval(:), 'descend'); %sort z decreasing
Zmin = Zmin(1:10); %10 smallest z values
pos = ismember(Zval, Zmin); %location of Z values
Xmin = reshape(Xval(pos),[],1);
Ymin = reshape(Yval(pos),[],1);
xgap = 1; ygap = 1; zgap = 1; %adjust to get desired spacing of label from point.
text( Xmin+xgap, Ymin+ygap, Zmin+zgap);
2 commentaires
Matt Kindig
le 21 Déc 2012
Modifié(e) : Matt Kindig
le 21 Déc 2012
Or maybe I misunderstood your question. Are you asking how to plot these points? In that case, just use plot3():
hold on;
plot3( Xmin, Ymin, Zmin, 'o');
Voir également
Catégories
En savoir plus sur Surface and Mesh Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!