如何利用SAS繪制地圖(二)

前兩天我們講過(guò)如何利用SAS繪制中國(guó)地圖和世界地圖,今天我們接著講。
用中國(guó)各地的平均濕度數(shù)據(jù)來(lái)繪制地圖
data hum;
  input prov: $10. id hummidity@@;
/*  變量中要包括id變量*/
  datalines;
安徽 1 75 新疆 13 52 陜西 26 58
浙江 2 70 西藏 14 38 天津 28 56
江西 3 69 甘肅 15 52 云南 29 70
江蘇 4 72 廣西 16 77 廣東 30 71
吉林 5 59 貴州 18 77 海南 31 79
青海 6 56 遼寧 19 64 四川 32 75
福建 7 69 內(nèi)蒙古 20 50 重慶 33 82
黑龍江 8 60 寧夏 21 49 香港 34 56
河南 9 58 北京 22 52 澳門(mén) 35 67
河北 10 56 上海 23 70 臺(tái)灣 36 80
湖南 11 73 山西 24 53
湖北 12 71 山東 25 57
;
run;

/*data指定分析數(shù)據(jù)集hum, map指定地圖文件maps .china*/
proc gmap data=hum map=maps.china;
/*指定id變量為id , 跟maps.china文件的id對(duì)應(yīng)起來(lái)*/
id id;
/*指定反應(yīng)變品為hummidity, 按hummidity的值顯示不同顏色*/
choro hummidity;
run;quit;
253026-1.png
在地圖上標(biāo)出地名
/*sas自帶宏程序, 必須%annomac在前, %maplabel在后*/
%annomac;
/*%maplabel(maps.china,hum,labelout,prov,id,font=Arial,color=red,size=2,hsys=3);*/
%maplabel(maps.china,hum,labelout,prov,id,font=%str(arial),color=red,size=1.5,hsys=3);
proc gmap map=maps.china data=hum;
id id;
choro hummidity/ nolegend annotate=labelout;
run;
253026-2.png
宏%maplabel有9個(gè)參數(shù),依次為:地圖文件名、包含區(qū)域名稱的數(shù)據(jù)集文件、輸出的注釋數(shù)據(jù)集(該數(shù)據(jù)集名自行定義,在后面的gmap過(guò)程的annotate=選項(xiàng)中要用到)、表示區(qū)域名稱的變量、id變量、字體、顏色、字體大小(默認(rèn)為4)、坐標(biāo)系統(tǒng)(該值與size一起來(lái)控制字體大小,默認(rèn)為3)
繪制省地圖
/*建立收入數(shù)據(jù)集profit*/
data profit;
input prov$ id profit;
datalines;
安徽 1 178.4
浙江 2 279.2
江西 3 154 .4
江蘇 4 239.1
福建 7 166.5
上海 23 341.1
山東 25 213.5
run;


%annomac;
%maplabel(maps.china,profit,labelout,prov,id, font= Arial.color= red.size= 3,hsys = 3);
proc gmap map=maps.china data=profit;
id id;
choro profit/ annotate=labelout;
where id in (1,2,3,4,7,23,25); /*利用where語(yǔ)句選擇六省一市的id號(hào)*/
run;
253026-3.png


請(qǐng)前往:http://lygongshang.com/TeacherV2.html?id=166