【发布时间】:2012-11-17 00:42:11
【问题描述】:
我正在尝试制作一个带有两个表示形状和颜色的图例(下例中的“类型”和“组织”)的地图,并插入图例。我可以放置图例,但我希望它们左对齐,以便它们的左边缘对齐。除了相对于彼此居中之外,我无法使它们成为任何东西:
require(ggplot2)
require(ggmap)
require(grid)
require(mapproj)
data <- data.frame(Org=rep(c("ABCDEFG","HIJKLMNOP","QRSTUVWX"),4)
, Type=rep(c("Y","Z"),6), Lat=runif(12,48,54.5)
, Long=runif(12,-133.5,-122.5))
osmMap <- get_map(location=c(-134,47.5,-122,55), source = 'osm')
points <- geom_jitter(data=data, aes(Long, Lat, shape=Type
, colour=Org))
legend <- theme(legend.justification=c(0,0), legend.position=c(0,0)
, legend.margin=unit(0,"lines"), legend.box="vertical"
, legend.key.size=unit(1,"lines"), legend.text.align=0
, legend.title.align=0)
ggmap(osmMap) + points + legend
【问题讨论】:
-
这不是一个直接的答案,但您可以通过使用 format 使它们的大小相等来作弊。在您的数据声明后尝试
data$Type <- format(data$Type, width=17)并重新运行您的代码。 -
这是一个巧妙的技巧,谢谢。我会在星期一试一试