【问题标题】:Stat_Density func in R filling in multiple grid squares instead of a single oneR 中的 Stat_Density 函数填充多个网格正方形而不是单个网格正方形
【发布时间】:2022-11-24 21:24:03
【问题描述】:

我试图在地图上突出显示单个 1x1 度网格方块。

它可以突出显示前 1 个方块的各个网格方块,但在突出显示第 4 个方块后,它开始突出显示多组方块,我不确定为什么?


library(ggOceanMaps)
#devtools::install_github("MikkoVihtakari/ggOceanMapsData")
library(ggOceanMapsData)

dt <- data.frame(lon = c(35, 35, 60, 60), lat = c(-25, -25, -40, -40))

grid_2019_1 <- data.frame(lat=c(-28, -29), long=c(51, 52))
grid_2019_2 <- data.frame(lat=c(-28, -29), long=c(52, 53))
grid_2019_3 <- data.frame(lat=c(-28, -29), long=c(53, 54))
grid_2019_4 <- data.frame(lat=c(-30, -31), long=c(41, 42))
grid_2019_5 <- data.frame(lat=c(-30, -31), long=c(42, 43))

P4 = basemap(data = dt,bathymetry = T,
        lon.interval = 1,
        lat.interval = 1,
        bathy.style = "contour_blues",
        bathy.border.col = NA,
        bathy.size = 0.1,
        bathy.alpha = 1) 

P4.1 = P4 + stat_density2d(data = grid_2019_1, aes(x = long, y = lat, fill = ..density..),
                    geom = 'tile', contour = F) 
P4.2 = P4.1 + stat_density2d(data = grid_2019_2, aes(x = long, y = lat, fill = ..density..),
                           geom = 'tile', contour = F) 
P4.3 = P4.2 + stat_density2d(data = grid_2019_3, aes(x = long, y = lat, fill = ..density..),
                           geom = 'tile', contour = F) 

P4.4 = P4.3 + stat_density2d(data = grid_2019_4, aes(x = long, y = lat, fill = ..density..),
                           geom = 'tile', contour = F) 
P4.5 = P4.4 + stat_density2d(data = grid_2019_5, aes(x = long, y = lat, fill = ..density..),
                           geom = 'tile', contour = F) 

【问题讨论】:

    标签: r gis kernel-density stat-density2d


    【解决方案1】:

    固定使用geom_tile

    
    P4 = basemap(data = dt,bathymetry = T,
            lon.interval = 1,
            lat.interval = 1,
            bathy.style = "contour_blues",
            bathy.border.col = NA,
            bathy.size = 0.1,
            bathy.alpha = 1) 
    grid_2019_1 <- data.frame(lat=c(-28.5), long=c(51.5))
    grid_2019_8 <- data.frame(lat=c(-31.5), long=c(42.5))
    P4.1 = P4 +  geom_tile(data = grid_2019_8, aes(x= long, y = lat, fill= 'red' )) 
    P4.1
    P4.8 = P4 +   geom_tile(data = grid_2019_8, aes(x= long, y = lat, fill= 'red' ))
    P4.8
    

    【讨论】:

      猜你喜欢
      • 2016-12-22
      • 2018-11-25
      • 1970-01-01
      • 2012-07-22
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多