title: Reverse geom_density order in ggplot
body: <pre><code># OUR REPRODUCIBLE EXAMPLE
  library(tidyverse)
  ggplot(diamonds, aes(price, fill = cut)) +
    geom_density(bins = 50, stat = "bin", alpha = 0.3)
  </code></pre>
  
  <p>Above is a nice density plot using <em>count</em> instead of <em>density</em>. Just like I want, <em>almost</em>.</p>
  
  <p>I also want to reverse the order of the diamond <code>cut</code> factor, so the <code>ideal</code> factor moves to the back of the plot and the <code>fair</code> factor moves to the front. None of my proposed solutions from other StackOverflow questions work. What is the correct solution?</p>
  
  <pre><code># DOESNT APPEAR TO CHANGE ANYTHING
  library(forcats)
  ggplot(diamonds, aes(price, fill = cut), fct_rev(cut)) +
    geom_density(bins = 50, stat = "bin", alpha = 0.3)
  
  #JUST SCREWS UP THE Y SCALE
  ggplot(diamonds, aes(price, fill = cut)) +
    geom_density(bins = 50, stat = "bin", alpha = 0.3) + 
    scale_y_discrete(limits = rev(levels(diamonds$cut)))
  
  # JUST TOTALLY WRONG
  ggplot(diamonds, aes(price, fill = cut)) +
    geom_density(
      bins = 50, stat = "bin", 
      alpha = 0.3, 
      position = position_fill(reverse = TRUE)
    )
  </code></pre>