gpt4 book ai didi

r - 使用 ggmap 截断密度多边形

转载 作者:行者123 更新时间:2023-12-01 02:21:02 28 4
gpt4 key购买 nike

我在使用 R/ggmap 绘制密度图时遇到问题。我的数据如下所示:

> head(W)
date lat lon dist
1 2010-01-01 31.942 -86.659 292.415
2 2010-01-10 32.970 -84.174 89.121
3 2010-01-17 31.000 -85.363 319.552
4 2010-01-17 31.457 -83.951 258.501
5 2010-01-17 31.073 -81.987 373.915
6 2010-01-17 33.210 -83.149 129.927

我正在使用它来绘制它:
ggmap(atlanta.map, extent = "panel") +
geom_point(data = W, aes(x = lon, y = lat)) +
geom_density2d(data = W, aes(x = lon, y = lat)) +
stat_density2d(data = W, aes(x = lon, y = lat, fill = ..level..,
alpha = ..level..), size = 0.01, bins = 8, geom = 'polygon') +
theme(axis.title = element_blank()) +
scale_fill_gradient(low = "yellow", high = "red") +
scale_alpha(range = c(.5, .75), guide = FALSE)

但是,尽管轮廓看起来不错并且一些多边形还可以,但与边界相交的多边形被分成两个部分:正确的“平滑”部分和闭合多边形的直线部分。这两个部分在 map 的边界上相遇。

我的数据超出了 map 的边界,因此 KDE 有足够的信息来推导出有意义的密度估计值,一直到边界。

有谁知道问题可能是什么?而且,更重要的是,我该如何修复它?

谢谢,
安德鲁。

enter image description here

最佳答案

通过进一步的谷歌搜索和搜索,我已经制定了一个解决方案。

ggmap(map, extent = "normal", maprange=FALSE) %+% W + aes(x = lon, y = lat) +
geom_density2d() +
stat_density2d(aes(fill = ..level.., alpha = ..level..),
size = 0.01, bins = 16, geom = 'polygon') +
scale_fill_gradient(low = "green", high = "red") +
scale_alpha(range = c(.00, .25), guide = FALSE) +
coord_map(projection="mercator",
xlim=c(attr(map, "bb")$ll.lon, attr(map, "bb")$ur.lon),
ylim=c(attr(map, "bb")$ll.lat, attr(map, "bb")$ur.lat)) +
theme(legend.position = "none", axis.title = element_blank())

关于r - 使用 ggmap 截断密度多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20485752/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com