我可以使用下面的代码使用ggmap来制作Map,但是如果我尝试使用gghighlight,我会得到一个错误。是否可以将gghighlight与ggmap一起使用?
library(ggmap)
hdf <- get_map("houston, texas")
mu <- c(-95.3632715, 29.7632836); nDataSets <- sample(4:10,1)
chkpts <- NULL
for(k in 1:nDataSets){
a <- rnorm(2); b <- rnorm(2);
si <- 1/3000 * (outer(a,a) + outer(b,b))
chkpts <- rbind(
chkpts,
cbind(MASS::mvrnorm(rpois(1,50), jitter(mu, .01), si), k)
)
}
chkpts <- data.frame(chkpts)
names(chkpts) <- c("lon", "lat","class")
ggmap(hdf, extent = "normal") +
geom_point(aes(x = lon, y = lat, colour = class), data = chkpts, alpha = .5) ->
my_plot
my_plot
library(gghighlight)
my_plot +
gghighlight(class > 3, aes(x = lon, y = lat, colour = class), data = chkpts)
# Error in `check_bad_predicates()`:
# ! Did you mistype some argument name? Or, did you mean `==`?: data = chkpts
# Backtrace:
# 1. gghighlight::gghighlight(...)
# 2. gghighlight:::check_bad_predicates(predicates)
1条答案
按热度按时间j2datikz1#
我很少使用gghighlight,但我怀疑它是在比较过滤条件与基础层中的数据源。颠倒顺序,使
chkpts
数据集位于ggplot()
中,并在稍后添加ggmap对象,这对我来说是有效的:注意:
coord_map
的帮助文件提到它已经被coord_sf
取代,但值得一提的是,ggmap
版本仍然使用coord_map
,当我尝试使用coord_sf
时,两个图之间有明显的差异。因此,我坚持使用coord_map
。