MATLAB: Map Plot with stem3 and worldmap and geoshow

3d plotsstem3m

Hi,
I am trying to map some data with latitude and longitude with their velocity vectors. I have already horizontal velocities on map by below code, but I want to have vertical velocities as different vectors on same map (simultaneously).
worldmap([-45 -10],[110 155])
load coast
geoshow(lat,long)
hold on
quiverm(lati,longi,ul,ug,'m')
hold on
stem3m(lati,longi,uu,'r-')
tightmap
But I have nothing for stem3m???? just have horizontal velocities on map.
How can I have two vector for each point (lat,lon)? one horizontal and another vertical???
Many thanks,
Mahdiyeh

Best Answer

A couple of notes:
1. Never use quiverm because it scales vectors as a function of latitude. It shrinks vectors toward the poles, and that's absurd if you're trying to directly compare velocities at different locations. Instead, use ncquiverref or quivermc, which are both available on File Exchange.
2. A stem3m plot will be difficult for the viewer to interpret. 3D plots should be avoided whenever possible, because 3D plots convolve actual variations in data with scaling to account for aspect ratio. In this case, where you have quiver arrows the stems will be especially difficult to separate from the arrows. Consider instead using pcolorm to show vertical velocity. Here's what I would do:
worldmap([-45 -10],[110 155])
load coast
plotm(lat,long)
pcolorm(lati,longi,uu)
quivermc(lati,longi,ul,ug,'m')