How to control elevation of geoshow() contour lines

9 visualizaciones (últimos 30 días)
Mike Wilson
Mike Wilson el 10 de Jul. de 2015
Comentada: Mike Wilson el 5 de Oct. de 2015
In our application we need to sometimes plot contour lines from geoshow() on top of other geoshow() surface plots. In order to make them visible we need to raise them in Z by a few units. We can find the ZData for the contour lines but when we try to change it we get this error message
"Insufficient number of outputs from function on right hand side of equal sign to satisfy overloaded assignment."
The geoshow() call we're using is this.
A = geoshow(latMat2, lonMat2, newRain2, 'DisplayType', 'contour', 'linewidth', 1.0);
Once above command is executed, we can see the ZData (all zeros) with this
A.Children(:).ZData
We try to swap in new ZData values with this
A.Children(:).ZData = 8;
and get the above referenced error message.
Obviously we're doing something wrong, but don't know what it is.
Thanks for any insight.
  1 comentario
Mike Wilson
Mike Wilson el 5 de Oct. de 2015
Thanks Tom. What we found that worked is
numContours = size(A.Children);
for i = 1:numContours
A.Children(i).ZData(:) = 22;
end

Iniciar sesión para comentar.

Respuesta aceptada

Tom
Tom el 18 de Sept. de 2015
Hi Mike,
I had a similar problem trying to overlay the build-in "states" map on my 3D surface plot. Your question helped me solve my problem, so I hope I can be of help.
My initial formulation was a little different since I was using the 'SymbolSpec' option of the geoshow function. Still, I think you can solve your issue assigning an array to A.Children.ZData instead of a scalar.
C = 8; %some arbitrary height you want place your map at
A.Children.ZData = C*ones(size(A.Children.XData)));
I think the issue was that XData, YData, and ZData need to be the same size. So you just need to create an array of all "8s" and assign it to ZData.
I hope this is of help.
Best regards,
Tom

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by