title: Control point border thickness in ggplot
body: <p>When using ggplot, I can set <code>shape</code> to 21-25 to get shapes that have independent setting for the internal (<code>fill</code>) and border (<code>col</code>) colors, like so:</p>
  
  <pre><code>df &lt;- data.frame(id=runif(12), x=1:12, y=runif(12))
  ggplot(df, aes(x=x, y=y)) + 
    geom_point(aes(fill=id, size=id), colour="black", shape=21)
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/9eVZa.png" alt="enter image description here"></p>
  
  <p>However, I can't figure out how to control the thickness of the shape borders, either setting them absolutely or as an aesthetic mapping.  I note that if I set an <code>lwd</code> value, it overrides the <code>size</code> aesthetic:</p>
  
  <pre><code>ggplot(df, aes(x=x, y=y)) + 
    geom_point(aes(fill=id, size=id), colour="black", shape=21, lwd=2)
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/ogboS.png" alt="enter image description here"></p>
  
  <p>How do I control the border thickness?</p>