ggextra has these nice marginal displays.
I'd love to see these; I think the most AoG way to write these would be by just adding to a 2d plot, e.g.
data(df) * mapping(:x, :y) * (density() + visual(Scatter))