How to fit axes to contourm plot?
1 次查看(过去 30 天)
显示 更早的评论
Hello, I'm trying to create a map of mean wind speed in the region of Greece. My lat and lon are coming from the variables XLAT and XLONG respectively and the variable WS_mean contains the data I want to map. My code is:
axesm ('MapProjection', 'lambert', 'MapLatLimit', [min(min(double(XLAT))) max(max(double(XLAT)))],'MapLonLimit', [min(min(double(XLONG))) max(max(double(XLONG)))],'Frame','on','Grid','on', 'MeridianLabel', 'on', 'ParallelLabel', 'on');
contourm(double(XLAT),double(XLONG),double(WS_mean),'Linestyle','none','Fill','on');
geoshow ('landareas.shp','FaceColor','white', 'FaceAlpha',0,'Linewidth',2)
colormap(jet(125));
I'm attaching the resulting figure. As you can see the axes are not properly aligned with the result of the contourm. I've tried all of the MapProjections and none is fitting my needs. How do I fit the axes to the contourm plot? Or is something wrong with the way i'm depicting the data with the contourm command??
Thanks in advance
0 个评论
采纳的回答
George Koh
2017-1-15
编辑:George Koh
2017-1-15
1 个评论
Walter Roberson
2017-6-7
Muhammad Usman Saleem comments to George Koh:
Need more explaination for this answer
更多回答(2 个)
Muhammad Usman Saleem
2017-1-8
[min(min(double(XLAT))) max(max(double(XLAT)))]
fix this in this manner
[(min(double(XLAT)) max(double(XLAT))]
let me know after check?
Nithin Sivadas
2018-9-30
There is another way to fix this. Turns out that when one uses contourm(), sometimes the Cartesian axes limits change. I am assuming this is a bug. I found a solution to be to store the Cartesian limits before the contourm() and replace the buggy limits with it, after executing the function like this:
ax = gca; xlim = ax.XLim; ylim = ax.YLim;
contourm(double(XLAT),double(XLONG),double(WS_mean),'Linestyle','none','Fill','on');
ax.XLim = xlim; ax.YLim = ylim;
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!