Map plot (surfm) of polar regions missing data
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Chad Greene
2015-3-10
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Map Display 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!