0

我有 2 个地理空间数据集——一个用于识别医院和识别在此类医院内、附近或远离此类医院发生的程序。我使用 ggplot 创建一个地图,其中包含显示所有医院和完成的所有程序的点。关键是要可视化与医院相关的程序有多接近。因此,我试图在每个医院地理坐标周围生成一个半径为 1 公里的圆,并查看其中有多少程序点。问题是当我尝试这样做时,我似乎无法让圆圈仅显示为边框并且在内部是透明的(即我希望半径仅为 1 公里的圆形轮廓,所以我仍然可以看到程序点落在所述半径内)。我怎样才能完成这个?我当前的代码如下。谢谢!

ggplot() +  
geom_polygon(data=map_area.df, aes(x=long, y=lat, group=group)) + 
geom_point(data=procedures, aes(x=long, y=lat), size=.01) + scale_color_viridis() +  
geom_point(data=hospitals, aes(x=long, y=lat), size = .02, color="red") + 
geom_circle(aes(x0=longitude, y0=latitude, r = circles), data= hospitals)
 + coord_equal()
4

1 回答 1

0

ggplot 中为此使用了美学“填充”,但您似乎没有将其设置为任何内容。你能发布一个问题的例子吗?在下面的示例代码中,我确实得到了只有圆形轮廓的透明圆圈:

library(ggplot2)
library(ggforce)

circles <- data.frame(
  x0 = rep(1:3, 3),
  y0 = rep(1:3, each = 3),
  r = seq(0.1, 1, length.out = 9)
)

ggplot() +
  geom_circle(aes(x0 = x0, y0 = y0, r = r), data = circles) +
  coord_fixed()
于 2020-06-05T20:44:15.900 回答