奇怪的ggmap行为:填充为连续还是离散

问题描述

我正在尝试了解一些特殊的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 (将#修改为@)