Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在不重叠的多边形上打印点文字标签_R_Shapefile_Maptools - Fatal编程技术网

R 在不重叠的多边形上打印点文字标签

R 在不重叠的多边形上打印点文字标签,r,shapefile,maptools,R,Shapefile,Maptools,在R中的maptools包中使用pointLabel将为点打印文本标签,以避免文本重叠 但是,有没有一种方法可以避免/最小化文本标签与从形状文件创建的基础多边形的轮廓的重叠 例如,在绘制普查块的位置时,希望文本标签不要落在附近普查块边界的顶部,等等 我使用的数据来自2000年人口普查区块版本12A,位于: 并解压缩到以下5个文件: nycd.dbf nycd.prj nycd.shp nycd.shp.xml nycd.shx 我打算从包含垂直列表的我自己的文本文件中标记各个块: Zone

在R中的maptools包中使用pointLabel将为点打印文本标签,以避免文本重叠

但是,有没有一种方法可以避免/最小化文本标签与从形状文件创建的基础多边形的轮廓的重叠

例如,在绘制普查块的位置时,希望文本标签不要落在附近普查块边界的顶部,等等

我使用的数据来自2000年人口普查区块版本12A,位于:

并解压缩到以下5个文件:

nycd.dbf
nycd.prj
nycd.shp
nycd.shp.xml
nycd.shx
我打算从包含垂直列表的我自己的文本文件中标记各个块:

Zone 1
Zone 2 
Zone 3 
Zone 4
etc.
我加载了以下库:

library(gpclib)
library(maptools)     
library(RColorBrewer) 
library(classInt)
library(maps)
然后我试着:

zip=readShapePoly(file.choose())
并选择上面的
nycd.shp
文件。然后:

plot(zip, col="lightgray", border="black", axes=TRUE, pbg="white")
如果它不会与标签产生其他冲突,我更愿意为其上色:

zip@data$noise <- rnorm(nrow(zip@data))
colors=brewer.pal(9, "YlOrRd")
cols[is.na(cols)] <- "#D9D9D9"
brks=classIntervals(zip$noise, n=9, style="quantile")$brks
plot(zip, col=colors[findInterval(zip$noise, brks,all.inside=TRUE)], axes=F)
但不幸的是,这对我来说不是一个解决方案,因为我想使用的标签没有
$name
扩展名。我所能说的是,直到我通过这个网站进行内部搜索,最后几天在线谷歌搜索,我才发表文章。从我所看到的是,这个网站和这个社区帮助了像我这样的初学者(相对于这里的人的高级技能而言)


提前感谢。

如果没有示例,我将提供plotrix软件包中提供的内容

> require(plotrix)
> x<-rnorm(10)
> y<-rnorm(10)
> plot(x,y); thigmophobe.labels(x,y,labels=paste(round(x,2),round(y,2)))
>需要(plotrix)
>xy图(x,y);thigmophobe.labels(x,y,labels=粘贴(圆形(x,2),圆形(y,2)))

在没有示例的情况下,我将提供plotrix软件包中提供的内容

> require(plotrix)
> x<-rnorm(10)
> y<-rnorm(10)
> plot(x,y); thigmophobe.labels(x,y,labels=paste(round(x,2),round(y,2)))
>需要(plotrix)
>xy图(x,y);thigmophobe.labels(x,y,labels=粘贴(圆形(x,2),圆形(y,2)))

我们中的一些人已经厌倦了猜测人们可能使用的数据类型。因此,请搜索“伟大的可复制的例子”。请告诉我们您尝试了什么,至少我们中的一些人已经厌倦了猜测人们可能使用的是什么样的数据。搜索“伟大的可复制的例子”。请告诉我们你至少尝试过什么