Controlling the elevation (Z value) of vector plots
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Mike Wilson
le 8 Juil 2015
Commenté : Mike Wilson
le 8 Juil 2015
I'm using the quiverm() function to plot ocean surface wind vectors. Plots include multiple scalar properties as well. Those are being plotted with geoshow() which by default puts ZData for those scalar properties at zero (elevation). Example would be:
A = geoshow(updatedLat, updatedLon, div_D2, 'DisplayType', 'Texturemap', 'FaceAlpha', 1);
For visual interpretation, one of the scalar properties needs to be plotted with transparency. When that's done, MATLAB's openGL renderer has difficulty sorting the two surfaces (both at Z = 0) properly. Draw order is not factored in. The symptom is that even opaque surfaces are rendered as slightly transparent.
A possible remedy is to force separation between the two scalar property surfaces. Leave the transparent scalar property surface at Z = 0. Move the opaque surface upward by a small increment. Using the "A" surface created with above geoshow() call, you can accomplish the elevation change with
A.ZData(:) = 10;
That works to solve the transparency problem. The opaque scalar data plots properly over the top of the transparent data, and it stays opaque.
However, it leaves the accompanying vector plot behind. That's still at Z = 0.
Is it possible to control the elevation (Z value) of a guiverm() vector plot?
Thanks,
Mike
0 commentaires
Réponse acceptée
Sean de Wolski
le 8 Juil 2015
Adjust the 'ZData' of the lines In the quiverm plot:
load coast
axesm('eqaconic','MapLatLimit',[30 60],'MapLonLimit',[-10 10])
framem; plotm(lat,long)
lat0 = [50 39.7]; lon0 = [-5.4 2.9];
u = [5 5]; v = [3 3];
% Grab line handles
q = quiverm(lat0,lon0,u,v,'r')
% Adjust first line height
q(1).ZData = q(1).ZData + 100; % (14b or greater), otherwise use set/get
Plus de réponses (0)
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!