0

I'm trying to do a map with ggplot and geom_scatterpie function but I'm keep receiving this error: "Error: Discrete value supplied to continuous scale"

the code is the following:

ggplot() +
  geom_tile(data = my_raster, aes(x = x, y = y, fill = values)) +
  scale_fill_gradientn(colours = c("white", "white", "white", "white", "grey", "white", "white"), na.value = "white", guide="none")  +
  geom_sf(data = europe_cropped, size = 0.1, color = "black", fill = "white", alpha = 0.4) +
  geom_scatterpie(aes(x = long, y = lat, r = 2), 
                  cols = colnames(my_table[2:5], color = "black",
                  data = my_table)  +
  ylab("") +
  xlab("") +
  coord_sf() +
  theme_few()

I've tried to run it without the geom_tile and scale_fill lines and it works but I need that raster as base of the map. What could be the problem the gives the error?

edit:

head(my_raster)

x y focal_max
-9.979089 64.98143 200
-9.965076 64.98143 200
-9.951063 64.98143 200
-9.937050 64.98143 200
-9.923037 64.98143 200
-9.909024 64.98143 200

head(my_table)

site group1 group2 group3 group4 lat long
site1 0.317 0 0.0448 0.280 47.7 5.08
site2 0.370 0 0.0359 0.319 47.8 5.07
site3 0.344 0 0.0269 0.233 47.8 5.12
site4 0.317 0 0.00896 0.342 47.8 5.06
site5 0.291 0 0.0538 0.373 47.8 5.04
site6 0.476 0 0.0179 0.490 47.7 5.12
  • it's really hard to say much here, since we don't have the data that is causing your code to emit the error. Does removing just the scale_fill_gradientn line still cause the error? – Allan Cameron Jun 18 '22 at 17:58
  • unfortunately no, even with removing that line the error is still there. I think the problem occurs when I run both geom_tile and geom_scatterpie – Aedan-1996 Jun 18 '22 at 18:50
  • Could you please share your data using `dput`? – Quinten Jun 19 '22 at 15:28

0 Answers0