eliocamp / metR

Tools for Easier Analysis of Meteorological Fields
https://eliocamp.github.io/metR/
140 stars 22 forks source link

stat_subset densidad de puntos #134

Closed lemuscanovas closed 3 years ago

lemuscanovas commented 3 years ago

Hola Elio,

Una consulta rápida, en el ejemplo que tienes en el uso de stat_subset:

data(geopotential)    # geopotential height at 700hPa for the Southern Hemisphere. 

ggplot(geopotential[, gh.base := gh[lon == 120 & lat == -50], by = date][
    , .(correlation = cor(gh.base, gh)), 
    by = .(lon, lat)],
    aes(lon, lat, z = correlation)) +
    geom_contour_fill(breaks = MakeBreaks(0.1)) +
    stat_subset(aes(subset = correlation > 0.5),
                geom = "point", size = 0.1) +
    scale_fill_divergent() 

¿Hay alguna manera para reducir la densidad de puntos? En el ejemplo no hay problema porque se trata de un grid de baja resolución, pero si se usa una rejilla de alta resolución hay demasiados puntos.

Gracias de antemano, Marc

eliocamp commented 3 years ago

Sí, fijate la función is.cross(), que a partir de una grilla regular, te devuelve los puntos que forman una "cruz"

library(ggplot2)
ggplot(temperature[lev == 500], aes(lon, lat)) +
  geom_raster(aes(fill = air)) +
  stat_subset(aes(subset = air > 270 & is.cross(lon, lat)),
              geom = "point", size = 0.1)

lemuscanovas commented 3 years ago

Brutal! Muchísimas gracias por la rapidez en la respuesta!

eliocamp commented 3 years ago

De nada!