如何在matlab中的颜色图上标记shapefile

How to label shape file on the color map in matlab

我正在尝试从文本文件制作彩色地图 data.I 我正在使用 geoshow 调用区域的形状文件并将其设置为颜色的背景 map.My 形状文件属于国家。我已将其区域数字化为多边形。在形状文件的属性中,我将这些区域命名为“NAME_1”field.I,我正在使用这些代码制作彩色地图

fid = fopen('1000_2000.txt');
 C = textscan(fid, '%f %f %f')
 fclose(fid);
 f = {'lat', 'long', 'temp'}
 S = cell2struct(C,f,2);
 N = 100;
 [Xi, Yi] = meshgrid(linspace(60,80,N),linspace(20,40,N));
 Ci = griddata(S.long, S.lat, S.temp, Xi, Yi);
 f = figure; set(f, 'Renderer', 'painters')
 colormap default
  h = geoshow(Yi,Xi,Ci,'DisplayType','surface');
 set(h,'ZData', zeros(size(get(h,'XData'))));
 p = geoshow('PAK_adm1.shp', 'DisplayType','polygon','FaceColor','none','EdgeColor','w');
 xlim([60.5 78.5]);
ylim([22.5 38.5]);
xlabel('Longitude');
ylabel('Latitude');
set(gca,'CLim',[0,3000])
 colorbar

我得到的输出为

我想要这样的标签功能(想在带有字段名的形状文件的属性中显示标签NAME_1)

我不太清楚 programmer.Any 如何更正这些代码以在我的彩色地图上标记要素?在此先感谢您的帮助

>>a=axes;

>>S = shaperead('landareas','UseGeoCoords',true);

>>geoshow([S.Lat], [S.Lon],'Color','black');

>>text(-125,50,'America')