Map plot (surfm) of polar regions missing data
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
weirdkhar
am 9 Mär. 2015
Kommentiert: Chad Greene
am 11 Mär. 2015
Hi all,
I have global model output and am trying to plot the data from a view above the south pole. I am using the surfm function (although using contourfm, or surfacem yields similar results) to plot the data on top of an axes such that:
axesm('MapProjection','vperspec',...
'Frame','on','Grid','on',...
'Origin',[-90 0 0],...
'MeridianLabel','on','ParallelLabel','on')
surfm(lat,lon,data)
where:
lat = 145 x 1 double array (latitude of centre of grid box)
lon = 192 x 1 double array (longitude of centre of grid box)
data = 145 x 192 double array (model data)
The output of this results in a map, except that it contains a white 'wedge' at the edge of the dataset (see attached image). This doesn't occur when I plot the data in other plotting programs. Any ideas as to how to get it to plot the edge data and fill this wedge?
I assume it is a problem with my longitude array (since it is a longitudinal slice), but this is direct output from the model and as mentioned before, works fine with other plotting programs. My longitude array is of the following form:
lon = [0.9385, 0.9385+1.8750i, ..., 359.0625]
Any help would be greatly appreciated.
Thanks! weirdkhar
0 Kommentare
Akzeptierte Antwort
Chad Greene
am 10 Mär. 2015
Hi Weirdkhar,
First, if you make a lot of maps centered about the South Pole, I recommend initializing with antmap or ncpolarm. It's a bit more streamlined than calling the axesm function with a bunch of arguments.
As for the missing data, a manual fix is to append your lat, lon, and data matrices with an extra column, which will be a copy of the very first column. That process is described here.
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Map Display finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!