title: How to adjust facet size manually
body: <p>I have a faceted plot with very diverse data. So some facets have only 1 <code>x</code> value, but some others have 13 <code>x</code> values. I know there is the parameter <code>space='free'</code> which adjusts the width of each facet by the data it represents.</p>
  
  <p>My question, is there a possibility to adjust this space manually? Since some of my facets are so small, it is no longer possible to read the labels in the facets. I made a little reproducible example to show what I mean.</p>
  
  <pre><code>df &lt;- data.frame(labelx=rep(c('my long label','short'), c(2,26)),
                   labely=rep(c('a','b'), each=14),
                   x=c(letters[1:2],letters[1:26]),
                   y=LETTERS[6:7],
                   i=rnorm(28))
  ggplot(df, aes(x,y,color=i)) +
    geom_point() +
    facet_grid(labely~labelx, scales='free_x', space='free_x')
  </code></pre>
  
  <p>So depending on your screen, the <code>my long label</code> facet gets compressed and you can no longer read the label.</p>
  
  <p>I found a post on the internet which seems to do exactly what I want to do, but this seems to no longer work in <code>ggplot2</code>. The post is from 2010.</p>
  
  <p><a href="https://kohske.wordpress.com/2010/12/25/adjusting-the-relative-space-of-a-facet-grid/" rel="noreferrer">https://kohske.wordpress.com/2010/12/25/adjusting-the-relative-space-of-a-facet-grid/</a></p>
  
  <p>He suggests to use <code>facet_grid(fac1 + fac2 ~ fac3 + fac4, widths = 1:4, heights = 4:1)</code>, so <code>widths</code> and <code>heights</code> to adjust each facet size manually.</p>