use 2022年上市公司客户信息.dta, clear
keep 经度 纬度 省 股票代码 ren 经度 客户经度 ren 纬度 客户纬度 ren 省 客户所在省 merge m:1 股票代码 using "上市公司注册地址经纬度数据.dta" keep if _m == 3 keep 股票代码 客户经度 客户纬度 客户所在省 注册地址经度 注册地址纬度 注册地址所在省份 ren 注册地址经度 上市公司经度 ren 注册地址纬度 上市公司纬度 ren 注册地址所在省份 上市公司所在省 gen _ID = _n order _ID geo2xy 客户纬度 客户经度, gen(_Y2 _X2) projection(albers, 6378137 298.257223563 25 47 0 105) replace geo2xy 上市公司纬度 上市公司经度, gen(_Y1 _X1) projection(albers, 6378137 298.257223563 25 47 0 105) replace encode 上市公司所在省, gen(byvar)
keep _* byvar 股票代码 gsort 股票代码
save arrowdata2, replace
use arrowdata2, clear
use arrowdata2, clear keep _X2 _Y2 ren _X2 lon ren _Y2 lat gen class = "客户" save tempdata2, replace
use arrowdata2, clear keep _X1 _Y1 ren _X1 lon ren _Y1 lat duplicates drop _all, force gen class = "上市公司" append using tempdata1 encode class, gen(class_group) save "mainpoint4", replace
use mainpoint4, clear keep if inrange(lon, 120000, 1766004.1) & inrange(lat, 320000, 2557786.0) replace lon = lon * 0.5 + 2100000 replace lat = lat * 0.5 + 1665139 replace class = "smallbox" append using mainpoint4 save pointdata4, replace
use chinaprov2021mini_db, clear local colorlist = `""80 80 255" "206 61 50" "116 155 88" "240 230 133" "70 105 131" "186 99 56" "93 177 221" "128 34 104" "107 215 107" "213 149 167" "146 72 34" "131 123 141" "199 81 39" "213 143 92" "122 101 165" "228 175 105" "59 27 83" "205 222 183" "97 42 121" "174 31 99" "231 199 111" "90 101 94" "204 153 0" "153 204 0" "169 169 169" "204 153 0" "153 204 0" "51 204 0" "0 204 51" "0 204 153" "0 153 204" "10 71 255" "71 117 255" "255 194 10""' grmap using chinaprov2021mini_coord.dta, id(ID) osize(vthin ...) ocolor(gray ...) graphr(margin(medium)) fcolor("white" ...) line(data(line_with_nhb) by(group) select(drop if inlist(group, 4, 7)) size(vvthin *1.2 *0.5 *0.5 *0.5 *1.2) pattern(solid ...) color(white "162 154 196" "0 85 170" black black )) polygon(data(polygon_with_nhb) by(class_group) fcolor(black black "237 237 237") osize(vvthin ...) ocolor(black black black)) label(data(label_with_nhb) x(X) y(Y) label(cname) length(20) size(*0.8) select(drop if inlist(cname, "乌兹别克斯坦", "塔吉克斯坦", "阿富汗", "巴基斯坦", "锡亚琛冰川", "马来西亚", "柬埔寨", "印度尼西亚", "文莱"))) ti("前五大客户") plotr(fcolor("187 209 235") margin(-0.95 -0.95 -0.95 -0.95)) point(data(pointdata4) by(class_group) fcolor("196 0 3" "0 193 155") x(lon) y(lat) size(tiny ...) legenda(on)) arrow(data(arrowdata2) by(byvar) lcolor(`colorlist') lpattern(solid ...) lsize(vvthin ...) hfcolor(`colorlist') hocolor(`colorlist') hosize(vvthin ...) hsize(small ...) hbarbsize(small ...)) leg(order(11 "上市公司" 12 "客户/供应商") row(1) size(*1.5)) name(d, replace) nodraw
|
评论