使用 Stata 繪制粵港澳大灣區(qū)地圖

最近有培訓(xùn)班的小伙伴需要使用 Stata 繪制粵港澳灣區(qū)的地圖,所以今天就介紹下如何使用 Stata 繪制。

為了方便大家使用,我給大家準(zhǔn)備了下面的數(shù)據(jù):

  1. 城市級(jí)別:

    • yga_db.dta:粵港澳行政區(qū)劃數(shù)據(jù)庫(kù)(多邊形)文件
    • yga_coord.dta:粵港澳行政區(qū)劃坐標(biāo)系(多邊形)文件
    • yga_line_db.dta:粵港澳行政區(qū)劃數(shù)據(jù)庫(kù)(線條)文件
    • yga_line_coord.dta:粵港澳行政區(qū)劃坐標(biāo)系(線條)文件
  2. 區(qū)縣級(jí)別:

    • yga_county_db.dta:粵港澳行政區(qū)劃數(shù)據(jù)庫(kù)(多邊形)文件
    • yga_county_coord.dta:粵港澳行政區(qū)劃坐標(biāo)系(多邊形)文件
    • yga_county_line_db.dta:粵港澳行政區(qū)劃數(shù)據(jù)庫(kù)(線條)文件
    • yga_county_line_coord.dta:粵港澳行政區(qū)劃坐標(biāo)系(線條)文件

城市地圖

展示粵港澳大灣區(qū)的區(qū)位我們通常使用廣東地圖 + 港澳地圖:

繪圖代碼為:

use yga_db.dta, clear
gen wq = inlist(substr(市, 1, 6), "香港", "澳門", "廣州", "深圳", "珠海") | inlist(substr(市, 1, 6), "佛山", "惠州", "東莞", "中山", "江門", "肇慶")
gen group = 1 if wq
replace group = 2 if inlist(substr(市, 1, 6), "湛江", "茂名", "陽江")
replace group = 3 if inlist(substr(市, 1, 6), "汕尾", "揭陽", "汕頭", "潮州")
replace group = 4 if inlist(substr(市, 1, 6), "云浮", "清遠(yuǎn)", "河源", "梅州", "韶關(guān)")
label def group 1 "粵港澳灣區(qū)" 2 "粵西地區(qū)" 3 "粵東地區(qū)" 4 "北部地區(qū)"
label val group group
save yga_db2.dta, replace 

spmap group using yga_coord.dta, id(ID) ///
    clmethod(custom) clbreaks(0 1 2 3 4) /// 
    fcolor("112 154 225" "254 212 57" "213 228 162" "138 145 151") ///
    leg(order(2 "粵港澳灣區(qū)" 3 "粵西地區(qū)" 4 "粵東地區(qū)" 5 "北部地區(qū)") pos(4) size(*1.5)) ///
    ocolor("white" ...) osize(vthin ...) ///
    point(data(yga_db2.dta) x(x) y(y) ///
        shape(Oh Dh Th Sh) by(group) ///
        size(*0.5 ...) osize(*1.2 ...)) ///
    label(data(yga_db2.dta) x(x) y(y) ///
        label(市) gap(*1.8) pos(6) length(6)) ///
    graphr(margin(medium)) ///
    ti("粵港澳大灣區(qū)區(qū)位圖", size(*1.1) pos(11)) ///
    subti("粵港澳大灣區(qū)地處我國(guó)沿海開放前沿,以泛珠三角區(qū)域?yàn)閺V闊發(fā)展腹地,在“一帶一路”建設(shè)中具有重要地" "位。交通條件便利,擁有香港國(guó)際航運(yùn)中心和吞吐量位居世界前列的廣州、深圳等重要港口,以及香港、廣" "州、深圳等具有國(guó)際影響力的航空樞紐,便捷高效的現(xiàn)代綜合交通運(yùn)輸體系正在加速形成。", size(*0.8) pos(11)) ///
    caption("繪制:微信公眾號(hào) RStata", size(*0.8))

如果只繪制粵港澳灣區(qū)地圖可以使用 if 進(jìn)行篩選繪制:

繪圖代碼為:

* 只繪制粵港澳大灣區(qū)
encode 市, gen(city)
tab city if wq, nolabel
spmap city using yga_coord.dta if wq, id(ID) ///
    clmethod(custom) clbreaks(0 1 2 4 5 6 11 13 17 18 19 23) /// 
    fcolor("254 212 57" "112 154 225" "138 145 151" "210 175 129" "253 116 70" "213 228 162" "25 126 192" "240 92 59" "70 115 46" "113 208 245" "55 3 53") ///
    leg(off) /// 
    ocolor("white" ...) osize(vthin ...) ///
    point(data(yga_db2.dta) x(x) y(y) ///
        size(*0.5 ...) osize(*1.2 ...) ///
        select(keep if wq) shape(Oh)) ///
    label(data(yga_db2.dta) x(x) y(y) ///
        label(市) gap(*1.8) pos(6) length(6) ///
        select(keep if wq)) ///
    graphr(margin(medium)) ///
    ti("粵港澳大灣區(qū)包含的城市", size(*1.1) pos(11)) ///
    subti("粵港澳大灣區(qū)包括香港特別行政區(qū)、澳門特別行政區(qū)和廣東省廣州市、深圳市、珠海市、佛山市、惠" "州市、東莞市、中山市、江門市、肇慶市(以下稱珠三角九市),總面積 5.6 萬平方公里,2017年末" "總?cè)丝诩s7000萬人,是我國(guó)開放程度最高、經(jīng)濟(jì)活力最強(qiáng)的區(qū)域之一,在國(guó)家發(fā)展大局中具有重要戰(zhàn)" "略地位。", size(*0.8) pos(11)) ///
    caption("繪制:微信公眾號(hào) RStata", size(*0.8))

上面繪制的都是填充地圖,如果想繪制描點(diǎn)地圖可以使用 point() 選項(xiàng),這里使用 2013 年工企業(yè)數(shù)據(jù)的分布為例展示:

繪圖代碼為:

* 合并工企業(yè)的點(diǎn)和城市的質(zhì)心
use yga_db2.dta, clear
keep x_centroid y_centroid 市 wq
keep if wq
gen centroid = 1
ren x_centroid 經(jīng)度
ren y_centroid 緯度
append using "2013年粵港澳大灣區(qū)工企業(yè)數(shù)據(jù).dta"
replace centroid = 0 if missing(centroid)
save 2013年粵港澳大灣區(qū)工企業(yè)數(shù)據(jù)2.dta, replace 

use yga_db2.dta, clear
encode 市, gen(city)
tab city if wq, nolabel
tab city if wq
spmap city using yga_coord.dta if wq, id(ID) ///
    clmethod(custom) clbreaks(0 1 2 4 5 6 11 13 17 18 19 23) /// 
    fcolor("254 212 57" "112 154 225" "138 145 151" "210 175 129" "253 116 70" "213 228 162" "25 126 192" "240 92 59" "70 115 46" "113 208 245" "55 3 53") ///
    leg(order(2 "東莞" 3 "中山" 4 "佛山" 5 "廣州" 6 "惠州" 7 "江門" 8 "深圳" 9 "澳門" 10 "珠海" 11 "肇慶" 12 "香港") size(*1.2) pos(4) col(2)) /// 
    ocolor("white" ...) osize(vthin ...) ///
    point(data(2013年粵港澳大灣區(qū)工企業(yè)數(shù)據(jù)2.dta) ///
        x(經(jīng)度) y(緯度) by(centroid) ///
        size(*0.5 ...) osize(*1.2 ...) ///
        shape(p Oh) fcolor(gray%80 white)) ///
    label(data(yga_db2.dta) x(x) y(y) ///
        label(市) gap(*1.8) pos(6) length(6) ///
        select(keep if wq)) ///
    graphr(margin(medium)) ///
    ti("粵港澳大灣區(qū)工企業(yè)分布", size(*1.1) pos(11)) ///
    subti("數(shù)據(jù)來源:2013 年中國(guó)工業(yè)企業(yè)數(shù)據(jù)庫(kù)", size(*0.8) pos(11)) ///
    caption("繪制:微信公眾號(hào) RStata", size(*0.8))

區(qū)縣地圖

如果大家需要繪制區(qū)縣級(jí)地圖可以使用區(qū)縣的那幾個(gè)文件,比不過還得結(jié)合著城市的數(shù)據(jù)來使用:

use yga_county_db.dta, clear
gen wq = inlist(substr(市, 1, 6), "香港", "澳門", "廣州", "深圳", "珠海") | inlist(substr(市, 1, 6), "佛山", "惠州", "東莞", "中山", "江門", "肇慶")
gen group = 1 if wq
replace group = 2 if inlist(substr(市, 1, 6), "湛江", "茂名", "陽江")
replace group = 3 if inlist(substr(市, 1, 6), "汕尾", "揭陽", "汕頭", "潮州")
replace group = 4 if inlist(substr(市, 1, 6), "云浮", "清遠(yuǎn)", "河源", "梅州", "韶關(guān)")
label def group 1 "粵港澳灣區(qū)" 2 "粵西地區(qū)" 3 "粵東地區(qū)" 4 "北部地區(qū)"
label val group group
save yga_county_db2.dta, replace 

spmap group using yga_county_coord.dta, id(ID) ///
    clmethod(custom) clbreaks(0 1 2 3 4) /// 
    fcolor("112 154 225" "254 212 57" "213 228 162" "138 145 151") ///
    leg(order(2 "粵港澳灣區(qū)" 3 "粵西地區(qū)" 4 "粵東地區(qū)" 5 "北部地區(qū)") pos(4) size(*1.5)) ///
    ocolor("white" ...) osize(vvthin ...) ///
    point(data(yga_db2.dta) x(x) y(y) ///
        shape(Oh Dh Th Sh) by(group) ///
        size(*0.5 ...) osize(*1.2 ...)) ///
    label(data(yga_db2.dta) x(x) y(y) ///
        label(市) gap(*1.8) pos(6) length(6)) ///
    line(data(yga_line_coord.dta) by(_ID) ///
        color(black ...) size(vthin)) ///
    graphr(margin(medium)) ///
    ti("粵港澳大灣區(qū)區(qū)位圖", size(*1.1) pos(11)) ///
    subti("粵港澳大灣區(qū)地處我國(guó)沿海開放前沿,以泛珠三角區(qū)域?yàn)閺V闊發(fā)展腹地,在“一帶一路”建設(shè)中具有重要地" "位。交通條件便利,擁有香港國(guó)際航運(yùn)中心和吞吐量位居世界前列的廣州、深圳等重要港口,以及香港、廣" "州、深圳等具有國(guó)際影響力的航空樞紐,便捷高效的現(xiàn)代綜合交通運(yùn)輸體系正在加速形成。", size(*0.8) pos(11)) ///
    caption("繪制:微信公眾號(hào) RStata", size(*0.8))

單獨(dú)繪制粵港澳大灣區(qū)的 11 個(gè)城市也是使用 if 進(jìn)行篩選:

use yga_county_db2.dta, clear 
encode 市, gen(city)
tab city if wq, nolabel
spmap city using yga_county_coord.dta if wq, id(ID) ///
    clmethod(custom) clbreaks(0 1 2 4 5 6 11 13 17 18 19 23) /// 
    fcolor("254 212 57" "112 154 225" "138 145 151" "210 175 129" "253 116 70" "213 228 162" "25 126 192" "240 92 59" "70 115 46" "113 208 245" "55 3 53") ///
    leg(off) /// 
    ocolor("white" ...) osize(vthin ...) ///
    point(data(yga_db2.dta) x(x) y(y) ///
        size(*0.5 ...) osize(*1.2 ...) ///
        select(keep if wq) shape(Oh)) ///
    label(data(yga_db2.dta) x(x) y(y) ///
        label(市) gap(*1.8) pos(6) length(6) ///
        select(keep if wq)) ///
    graphr(margin(medium)) xsize(9) ysize(6) ///
    ti("粵港澳大灣區(qū)包含的城市", size(*1.1) pos(11)) ///
    subti("粵港澳大灣區(qū)包括香港特別行政區(qū)、澳門特別行政區(qū)和廣東省廣州市、深圳市、珠海市、佛山市、惠州市" "、東莞市、中山市、江門市、肇慶市(以下稱珠三角九市),總面積 5.6 萬平方公里,2017年末總?cè)丝诩s" "7000萬人,是我國(guó)開放程度最高、經(jīng)濟(jì)活力最強(qiáng)的區(qū)域之一,在國(guó)家發(fā)展大局中具有重要戰(zhàn)略地位。", size(*0.8) pos(11)) ///
    caption("繪制:微信公眾號(hào) RStata", size(*0.8))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開了第一次的黨會(huì),身份的轉(zhuǎn)變要...
    余生動(dòng)聽閱讀 10,911評(píng)論 0 11
  • 彩排完,天已黑
    劉凱書法閱讀 4,497評(píng)論 1 3
  • 沒事就多看看書,因?yàn)楦褂性?shī)書氣自華,讀書萬卷始通神。沒事就多出去旅游,別因?yàn)闆]錢而找借口,因?yàn)橹灰闶〕詢€用,來...
    向陽之心閱讀 4,987評(píng)論 3 11
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來的情緒。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,841評(píng)論 2 7

友情鏈接更多精彩內(nèi)容