The plot looks like a normal scatter plot, with some transparency (alpha) for the dot-geoms. Here are two possible solutions:
library(ggplot2)
library(dplyr)
data("diamonds")
diamonds <- filter(diamonds, x > 3 & x < 12, y > 5 & y < 12, z > 3 & z < 5)
ggplot(diamonds, aes(x, z)) + geom_point(alpha = .01, shape = 16)

ggplot(diamonds, aes(x, z)) + geom_density_2d_filled()

Created on 2020-11-02 by the reprex package (v0.3.0)