小编Mat*_*ula的帖子

如何生成基于值的密度地图,而不是R中的点数量?

我正在使用以下数据集:

head(trip_3)
  TIP     LON    LAT
1   0    -73.866 40.741
2   10.0 -73.906 40.707
3   1.2  -73.706 40.738
4   2.0  -73.946 40.640
5   0    -73.946 40.625
6   1.5  -73.986 40.602
Run Code Online (Sandbox Code Playgroud)

我能够生成以下地图来呈现具有高和低平均小费值的点: 在此输入图像描述

我已经用以下代码实现了它:

nyc_map + geom_point(data=as.data.frame(trip_3), aes(x=LON, y=LAT, fill=TIP), size=3, 
shape=21, alpha=0.6, position="jitter") + scale_fill_continuous(low="white", high="#FF0033")
Run Code Online (Sandbox Code Playgroud)

现在我想要一张显示具有高和低提示的区域(密度)但不使用点的地图 - 我想要得到这样的东西: 在此输入图像描述

但它计算的是积分数量,而不是基于小费值。如果能实现我之前描述的目标那就太好了。这是我使用的代码:

nyc_map + stat_density2d(aes(x=LON, y=LAT, fill = ..level..), size=3,
bins=10, data=as.data.frame(trip_3), geom="polygon")
Run Code Online (Sandbox Code Playgroud)

如何使 stat_密度2d 依赖于 TIP,而不是点数?

r ggplot2 ggmap

5
推荐指数
1
解决办法
2540
查看次数

如何将ggplot(具有lon,lat和fill值)与ggmap连接?

我希望有一张地图,以一定的比例显示该地区的价值分布.这是我的数据框:

head(trip)
   TIP      LON     LAT
1 1.318878 -73.9932 40.7223
2 1.370667 -73.9932 40.7222
3 0.933232 -73.9772 40.7559
4 1.268699 -73.9932 40.7628
5 1.265304 -73.9932 40.7429
6 1.193437 -73.9852 40.7447
Run Code Online (Sandbox Code Playgroud)

我使用以下代码生成了一个地图:

map <- ggmap::get_map("new york", zoom = 11)
nyc_map <- ggmap::ggmap(map, legend="topleft")
Run Code Online (Sandbox Code Playgroud)

该地图已正确显示.

我还用我的数据表示法生成了一个图层:

ggplot(aes(LON,LAT, fill = TIP), data=as.data.frame(trip)) + 
geom_tile() + 
scale_fill_continuous(low="white", high="blue") + 
coord_equal()
Run Code Online (Sandbox Code Playgroud)

这也是生成和显示的.

问题是我想要这样做:

nyc_map + 
ggplot(aes(LON,LAT, fill = TIP), data=as.data.frame(trip)) + 
geom_tile() + 
scale_fill_continuous(low="white", high="blue") + 
coord_equal()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Error in p + o : non-numeric argument …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggmap

4
推荐指数
1
解决办法
698
查看次数

标签 统计

ggmap ×2

ggplot2 ×2

r ×2