Using usamap, geoshow and plot3m inside an axes AppDesigner

18 visualizaciones (últimos 30 días)
Tom Sutherland
Tom Sutherland el 25 de Feb. de 2021
Editada: Tom Sutherland el 1 de Mzo. de 2021
I want to migrate my 3D plotting utility, a stand alone m code program, to a GUI using AppDesigner. Some functions do not work correctly.
  • I have a function, plotPts.m, that opens a figure and plots an outline of a Lat/Long boundary using, usamap(latlimts,longlimits).
  • I can then overlays a image with height information, geoshow(GeoHeight,GeoRef,'DisplayType','surface','CData',GeoImage).
  • I can add points using plot3m(lat1,long1,h1,'ok')
This works fine opening up a new figure and plotting the data.
I want to do this same thing in AppDesigner using an "axes" on the GUI (I don't want a separate figure to open).
------------------------
if I use, H = geoaxes(ax.UIAxes), I get the error "geoaxes cannot be a child of UIAxes."
If I try to directly plot something using plot3m(lat1,long1,H,'or'), I get the error
"Expected gl to be one of these types:"
"globe.graphics.GeographicGlobe"
"Instead its type was matlab.ui.control.UIAxes."
Also, there doesn't seem to be a way to tell usamap() what figure, location to plot the lat/long limits outline.

Respuestas (0)

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by