title: Recreate parts of lm() plots with ggplot
body: <p>I have an assignment where I have to recreate the plots generated by the <code>lm()</code> function in R using <code>ggplot2</code>. Everything needs to be done without using the built in package. I've managed somewhat and I'm on the right track but there are two things which I don't understand.</p>
  <p>a) The datapoints in the plots seems &quot;compressed&quot; as in they are shifted towards the center. How are these datapoints calculated? Is there a way to directly manipulate the datapoints with ggplot?</p>
  <p>b) If you run the following:</p>
  <pre class="lang-r prettyprint-override"><code>test_object &lt;- lm(Petal.Length ~ Species, data = iris)
  plot(test_object)
  </code></pre>
  <p>And look at plot 1 and plot 3, it showcases 99, 119, 118. How can this be done? It seems like it's the three most extreme values.</p>