问题描述
我正在尝试了解一些特殊的ggmap()
和ggplot
行为。该代码生成犯罪的全图(特别是在休斯顿的谋杀案)。
library(ggmap)
houston_map <- get_stamenmap(bBox = c(left = -95.80204,bottom = 29.38048,right =
-94.92313,top = 30.14344),zoom = 10)
ggmap(houston_map) +
geom_point(data = crime[which(crime$offense=="murder"),],aes(x=lon,y = lat),size = 1,color="red",alpha=0.3) +
geom_density2d(data = crime[which(crime$offense=="murder"),y = lat,color =..level..),h=0.05,alpha=0.5) +
scale_color_gradient(low = "black",high = "red") +
labs(title="Reported Murders in Houston,2010")
这里的级别是连续的,因此scale_color_gradient()
修改颜色。但是类似的填充代码会生成一个离散变量。 。
ggmap(houston_map) +
geom_point(data = crime[which(crime$offense=="murder"),alpha=0.3) +
geom_density2d_filled(data = crime[which(crime$offense=="murder"),fill=..level..),alpha=0.5) +
labs(title="Reported Murders in Houston,2010")
。 。 。因此scale_fill_gradient()
会提示错误错误:提供给连续刻度的离散值。例如:
ggmap(houston_map) +
geom_point(data = crime[which(crime$offense=="murder"),alpha=0.5) +
scale_fill_gradient(low = "black",2010")
但是,将其更改为stat_density2d()
很好
ggmap(houston_map) +
geom_point(data = crime[which(crime$offense=="murder"),alpha=0.3) +
stat_density2d(data = crime[which(crime$offense=="murder"),alpha=0.5,geom="polygon") +
scale_fill_gradient(low = "black",high = "red") +
labs(title="Reported Murders in Houston,2010")
为什么stat()
和geom()
返回的结果不同?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)