Is this close enough?
library(ggplot2)
library(dplyr)
DF <- expand.grid(-30:30, -30:30)
DF <- DF %>% mutate(R =sqrt(DF$Var1^2 + DF$Var2^2)) %>%
filter(R <= 30) %>%
mutate(COVID = sample(c("Recovered", "Dead"), 2821, replace = TRUE, prob = c(0.9, 0.1)))
ggplot(DF, aes(x = Var1, y = Var2, color = COVID)) + geom_point(size = 0.9) + coord_fixed()

Created on 2020-03-31 by the reprex package (v0.3.0)