title: add different amount of extra space on both sides of discrete ggplot x-axis
body: <p>I have a plot with a discrete x-axis and I want to tweak the extra space on both sides of the scale, making it smaller on the left and bigger on the right, so the long labels will fit. <code>scale_x_discrete(expand=c(0, 1))</code> is not my friend here, as it always works on both side simultaneously. <a href="https://stackoverflow.com/questions/36561030/how-expand-ggplot-bar-scale-on-one-side-but-not-the-other-without-manual-limits">This question</a> is similar but addresses continuous scales. </p>
  
  <p><strong>How can I achieve that?</strong></p>
  
  <pre><code>set.seed(0)
  L &lt;- sapply(LETTERS, function(x) paste0(rep(x, 10), collapse=""))
  x &lt;- data.frame(label=L[1:24], 
                  g2 = c("a", "b"),
                  y = rnorm(24))
  x$g2 &lt;- as.factor(x$g2)
  x$xpos2 &lt;- as.numeric(x$g2) + .25
  
  # two groups
  ggplot(x, aes(x=g2, y=y)) + 
    geom_boxplot(width=.4) +
    geom_point(col="blue") +
    geom_text(aes(x=xpos2, label=label, hjust=0)) 
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/2Ihnb.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/2Ihnb.png" alt="enter image description here"></a></p>