title: r density plot - fill area under curve
body: <p>I've written code to plot density data for variations of an A/B test. I'd like to improve the visual by shading (with the fill being slightly transparent) the area below each curve. I'm currently using matplot, but understand ggplot might be a better option.</p>
  
  <p>Any ideas? Thanks.</p>
  
  <pre><code># Setup data frame - these are results from an A/B experiment
  conv_data = data.frame(
              VarNames = c("Variation 1", "Variation 2", "Variation 3") # Set variation names
              ,NumSuccess = c(1,90,899) # Set number of successes / conversions
              ,NumTrials = c(10,100,1070) # Set number of trials
              )
  conv_data$NumFailures = conv_data$NumTrials - conv_data$NumSuccess # Set number of failures [no conversions]
  num_var = NROW(conv_data) # Set total number of variations
  plot_col = rainbow(num_var) # Set plot colors
  
  get_density_data &lt;- function(n_var, s, f) {
      x = seq(0,1,length.out=100) # 0.01,0.02,0.03...1
      dens_data = matrix(data = NA, nrow=length(x), ncol=(n_var+1))
      dens_data[,1] = x
  
      # set density data
      for(j in 1:n_var) {
          # +1 to s[], f[] to ensure uniform prior
          dens_data[,j+1] = dbeta(x, s[j]+1, f[j]+1)
      }
      return(dens_data)
  }
  
  density_data = get_density_data(num_var, conv_data$NumSuccess, conv_data$NumFailures)
  
  matplot(density_data[,1]*100, density_data[,-1], type = "l", lty = 1, col = plot_col, ylab = "Probability Density", xlab = "Conversion Rate %", yaxt = "n")
  legend("topleft", col=plot_col, legend = conv_data$VarNames, lwd = 1)
  </code></pre>
  
  <p>This produces the following plot:
  <img src="https://i.stack.imgur.com/uZpcl.png" alt="enter image description here"></p>