Might be other, prettier ways to do this but here's one idea.
foo <- data.frame(bar = rnorm(100)) + theme_bw()
p <- ggplot(data = foo, aes(x = bar, y = ..count../sum(..count..))) ## or aes(x = bar, y = ..density..) if you want that
p + geom_histogram(size = 2, colour = "red", fill = "white") + geom_histogram(colour = "transparent", fill = "white")
![enter image description here]()
Edit:
geom_histogram(size = 2, colour = "red", fill = "white") creates this
![enter image description here]()
I edited the thickness of the outline to size = 2 to make the final output look nice. It looks awful at this stage. To remove the interior lines you add geom_histogram(colour = "transparent", fill = "white") which will draw another histogram on top covering the interior lines (and some of the outline which is why I think size = 2 looks nice)