我有这个代码。我有想要的身材。但我也想将样本数量放在标签旁边。例如,在90-92之间可能有100点,在92-94之间有500点,我想在标签旁边或图中某处显示这些数字。能否请你帮忙?
makeQuantiles <- function(x, probs = seq(0.9, 1, by = 0.02)) {
cut(x, breaks = qu <- quantile(x, probs = probs),
labels = names(qu)[-1], include.lowest = TRUE)
}
foo1$quantile<-makeQuantiles(foo1$mnqtp)
ggplot() +
geom_polygon( data=usamap, aes(x=long, y=lat,group=group),colour="black", fill="white" )+
geom_point(data=na.omit(foo1),aes(x=lon,y=lat,color=quantile))+
coord_map(projection = "mercator")+
theme_bw()+
theme(legend.position = c(.93,.20),panel.grid.major = element_line(colour = "#808080"))
基本思想是将计数添加到中的标签cut(...)
。
set.seed(1) # for reproducible example
N <- 1000
df <- data.frame(lon = sample(-125:-65,N,replace=T),
lat = sample(25:50,N,replace=T),
mqntp=sample(1:N,N,replace=T))
# you start here...
makeQuantiles <- function(x, probs = seq(0.9, 1, by = 0.02)) {
qu <- quantile(x, probs=probs)
br <- cut(x, breaks = qu, labels = names(qu)[-1],
include.lowest = TRUE)
ct <- table(br)
cut(x, breaks = qu, labels = paste0(names(qu)[-1]," (",ct,")"),
include.lowest = TRUE)
}
df$quantile <- makeQuantiles(df$mqntp)
library(ggplot2)
ggplot(na.omit(df), aes(x=lon,y=lat,color=quantile))+geom_point()
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句