Plotting latitude, longitude and array with a shapefile outline

4 次查看(过去 30 天)
I have three 120 by 150 arrays, one for latitude, one for longitude and one for solar radiation. I also have a shapefile showing the Ethiopian border.shapefile_ethiopia.png.
I can use pcolor to plot this data but I would really like to use a shapefile to show the Ethiopian country outline on top of this data.
I would really appreciate any help. Thank you!ethiopia_solarradiation.png

采纳的回答

Raghav Singhal
Raghav Singhal 2019-2-20
Hi,
You can plot the map outline over your data by using ‘geoshow’ function and setting the 'FaceColor' field to 'none'. If the line isn’t clearly visible, you could alter the ‘linewidth’ field as required. Hope this helps
eg: geoshow('landareas.shp', 'FaceColor', 'none','LineWidth',2);
For more information on the “geoshow function”, you can refer to this link: https://www.mathworks.com/help/map/ref/geoshow.html
  1 个评论
cloudyclare
cloudyclare 2019-2-20
This is perfect! Thank you very much Raghav, I really appreciate your help! :)
Here's the resulting plot for anyone who may be interested:
and the code:
ethiopia_shape_file='C:\Work\shape_files\ETH_adm0.shp';
figure; pcolor(long_array,lat_array,solar_rad); shading flat; colorbar;
hold on;
geoshow(ethiopia_shape_file, 'FaceColor', 'none','LineWidth',2);data_ethiopiaoutline.png

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by