使用ArcGIS制作地图时,默认情况下,软件会自动推送点和多边形标签,以避免使用专有算法重叠.他们将此称为动态标签.  ggplot2具有position_jitter优异的分数(因为动态标签可能会产生系统偏差),但对标签使用不太好geom_text.  
以下是动态标记算法可能解决的抖动问题的示例:
library(ggplot2)
ggplot( mtcars,aes( x=wt, y=mpg, label=rownames(mtcars) ) ) +
  geom_point() +
  geom_text( position=position_jitter(h=1,w=1) )

ggplot2中是否已经存在这样的动态标签功能?
如果没有,那么存在哪些算法,是否可以position_dynamic在R中实现?
我遇到了与我一直在使用的几个图的类似问题,并编写了一个使用力场模拟来调整对象位置的基本包.虽然可以进行很多改进,包括与ggplot的集成等,但它似乎完成了任务.以下说明了该功能:
install.packages("FField", type = "source")
install.packages("ggplot2")
install.packages("gridExtra")
library(FField)
FFieldPtRepDemo()
这不是可以在ggplot2中直接使用的任何东西,但是ordipointlabel()包vegan中的函数尝试做类似的事情.它将数据显示为点,并尝试使用适当的标签标记每个点,使用优化算法将标签定位在其点旁边但不重叠其他标签和点.
?ordipointlabel提到它是基于pointlabel()在maptools包,也可以是另一个地方去寻找灵感.
| 归档时间: | 
 | 
| 查看次数: | 10551 次 | 
| 最近记录: |