Por exemplo, quero usar as listras do ggpattern para preencher áreas com valores maiores que 50. Mas o parâmetro breaks (provavelmente meu problema) não atinge o resultado que desejo.
library(tidyverse)
d <- expand.grid(x = 1:10 ,y=1:10)
d$value <- 1:100
# The target area is concentrated in the upper right corner
ggplot(data = d,aes(x = x,y = y,fill = value))+
geom_tile()
ggplot(d)+
stat_contour_filled(aes(x = x, y = y, z = value),
breaks = c(-Inf, 50, Inf),
geom = ggpattern::GeomPolygonPattern,
pattern_angle = 60,
fill = 'transparent', color = NA,
pattern = 'stripe',
pattern_fill = 'black',
pattern_density = 0.001,
pattern_spacing = 0.03,
pattern_size = 0.3) +
scale_pattern_manual(values = c(NA,'stripe'))
ou
ggplot(d)+
stat_contour_filled(aes(x = x, y = y, z = value>50),
geom = ggpattern::GeomPolygonPattern,
pattern_angle = 60,
fill = 'transparent', color = NA,
pattern = 'stripe',
pattern_fill = 'black',
pattern_density = 0.001,
pattern_spacing = 0.03,
pattern_size = 0.3)
Você quer mapear a
pattern
estética para uma variável, então precisa movê-la para dentro daaes()
função:Uma nota sobre
ggpattern
opçõesIsso funciona bem para mim, mas para o OP retornou o erro:
Isso parece estar relacionado às
ggpattern
opções introduzidas no R 4.1, pois consegui reproduzi-lo definindooptions(ggpattern_use_R4.1_gradients = FALSE, ggpattern_use_R4.1_masks = FALSE)
.As seguintes opções resolveram o erro: