When I use geom_density_ridges()
, the plot often ends up showing long tails of values that don't exist in the data.
Here's an example:
library(tidyverse)
library(ggridges)
data("lincoln_weather")
# Remove all negative values for "Minimum Temperature"
d <- lincoln_weather[lincoln_weather$`Min Temperature [F]`>=0,]
ggplot(d, aes(`Min Temperature [F]`, Month)) +
geom_density_ridges(rel_min_height=.01)
As you can see, January, February, and December all show negative temperatures, but there are no negative values in the data at all.
Of course, I can add limits to the x-axis, but that doesn't solve the problem because it just truncates the existing erroneous density.
ggplot(d, aes(`Min Temperature [F]`, Month)) +
geom_density_ridges(rel_min_height=.01) +
xlim(0,80)
Now the plot makes it look like there are zero values for January and February (there are none). It also makes it look like 0 degrees happened often in December, when in reality there was only 1 such day.
How can I fix this?