全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
13442 33
2012-05-01
悬赏 500 个论坛币 已解决
图形如下:
TT截图未命名.bmp
图形原出处,下贴9楼:
https://bbs.pinggu.org/thread-1410066-1-1.html
数据出处:上贴8楼和16楼
方法不限于R,什么软件都可以教我。谢谢!

最佳答案

大公子 查看完整内容

#你以前的代码:https://bbs.pinggu.org/thread-1412880-1-1.html,如下: library(maptools) axx
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-5-1 19:05:18
#你以前的代码:https://bbs.pinggu.org/thread-1412880-1-1.html,如下:
library(maptools)
axx<-readShapePoly("bou2_4p.shp", proj4string=CRS("+proj=longlat +ellps=clrk66"))
x=axx
#plot(x,col=gray(924:0/924));#using col instead of fg!

getColor=function(mapdata,provname,provcol,othercol)
{
f=function(x,y) ifelse(x %in% y,which(y==x),0);
colIndex=sapply(mapdata$NAME,f,provname);
col=c(othercol,provcol)[colIndex+1];
return(col);
}

provname=c("北京市","天津市","河北省","山西省","内蒙古自治区",
  "辽宁省","吉林省","黑龙江省","上海市","江苏省",
  "浙江省","安徽省","福建省","江西省","山东省",
  "河南省","湖北省","湖南省","广东省",
  "广西壮族自治区","海南省","重庆市","四川省","贵州省",
  "云南省","西藏自治区","陕西省","甘肃省","青海省",
  "宁夏回族自治区","新疆维吾尔自治区");
pop=c(110.56,112.51,113.43,112.52,108.45,112.83,111.23,109.71,110.64,116.51,
  113.86,127.85,117.93,114.74,112.17,118.46,128.18,126.16,130.30,
  125.55,135.64,115.13,116.01,107.03,108.71,102.73,122.10,114.82,
  110.35,108.79,106.12);
pop=pop-min(pop);
provcol=rgb(red=1-pop/max(pop)/1,green=1-pop/max(pop)/1,blue=1/1.5);
plot(x,col=getColor(x,provname,provcol,"white"),border = "green",xlab="",ylab="")


#在此基础上追加以下两行代码:
dat = read.csv(textConnection("省份,jd,wd
    北京,116.4666667,39.9
    上海,121.4833333,31.23333333
    天津,117.1833333,39.15
    重庆,106.5333333,29.53333333
    黑龙江,126.6833333,45.75
    吉林,125.3166667,43.86666667
    辽宁,123.4,41.83333333
    内蒙,111.8,40.81666667
    河北,114.4666667,38.03333333
    山西,112.5666667,37.86666667
    山东,117,36.63333333
    河南,113.7,34.8
    陕西,108.9,34.26666667
    甘肃,103.8166667,36.05
    宁夏,106.2666667,38.33333333
    青海,101.75,36.63333333
    新疆,87.6,43.8
    安徽,117.3,31.85
    江苏,118.8333333,32.03333333
    浙江,120.15,30.23333333
    湖南,113,28.18333333
    江西,115.8666667,28.68333333
    湖北,114.35,30.61666667
    四川,104.0833333,30.65
    贵州,106.7,26.58333333
    福建,119.3,26.08333333
    台湾,121.5166667,25.05
    广东,113.25,23.13333333
    海南,110.3333333,20.03333333
    广西,108.3333333,22.8
    云南,102.6833333,25
    西藏,91.16666667,29.66666667
    香港,114.1666667,22.3
    澳门,113.5,22.2"))

text(dat$jd, dat$wd, dat[, 1], cex = 0.7)
#参考:http://yihui.name/cn/2008/10/china-map-and-city-locations-with-r/

另外,上面这段坐标是省会的位置,怎么来的我不清楚。
不过用locator()来定位你想要的位置,同样也能生成标签坐标。比如你想要北京的坐标,用locator(1),然后在已生成的图形上左键点击北京的位置,将返回该点坐标。
又比如"青海"有点偏右,就用locator(1)再重选下你想要它所在的位置,修改上面提供的坐标即可。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-1 22:00:11
耕耘使者兄,你应该安装了gis吧,这个在gis中实现不难。
你导入shp格式的图层后,在左边会出现Layers,就是有个方框处显示你的图形名称的。你点到那里,选择右键,选择Label Features,就可以显示了。


我觉得这个在R基础上实现应该也不难,期待他们的回答。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-2 07:11:25
ywh19860616 发表于 2012-5-1 22:00
耕耘使者兄,你应该安装了gis吧,这个在gis中实现不难。
你导入shp格式的图层后,在左边会出现Layers,就是 ...
我装了Arcgis10,也打开了shp文件,见下图:
TT截图未命名.bmp
下来呢?怎样做XINGBIEBI的图形呢?而且,
左边没有图层,可能在一次意外操作时将其删除了,怎样才能再将其调出来?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-2 07:50:34
耕耘使者 发表于 2012-5-2 07:11
我装了Arcgis10,也打开了shp文件,见下图:

下来呢?怎样做XINGBIEBI的图形呢?而且,
在工具栏的  窗口或者自定义   里面应该可以把左边的窗口调出来,试试看。
就是设置为默认形式。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-5-2 13:54:50
ywh19860616 发表于 2012-5-2 07:50
在工具栏的  窗口或者自定义   里面应该可以把左边的窗口调出来,试试看。
就是设置为默认形式。
在菜单栏的窗口中调出了层,如下图:
TT截图未命名.bmp
也点了右键,如下图:
图片1.jpg
没有找到您所说的“label features"啊?莫非是最后一个”属性“?打开以后如下图:
TT截图未命名2.bmp
然后呢?
而且,按常理,应该是先做出没有省名的图,再如您所说的加上标签吧,可我只做出了底图,如3楼(藤椅)所示!其中的我想要做图的XINGBIEBI到底怎样绘制啊?  您能否也像我一样上传一下截图?那样我一次就学会了,而不会像现在这样反复地打扰您!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群