title: ggplot - geom_segment() with mutiple arrows
body: <p>I am working on Principal Component Analysis (PCA).
  I found <code>ggfortify</code> works great but would like to do some manual adjustments.</p>
  
  <p>Here then trying to plot the PCA results as below:</p>
  
  <pre><code>evec &lt;- read.table(textConnection("
    PC1        PC2        PC3
    -0.5708394 -0.6158420 -0.5430295
    -0.6210178 -0.1087985  0.7762086
    -0.5371026  0.7803214 -0.3203424"
  ), header = TRUE, row.names = c("M1", "M2", "M3"))
  
  res.ct &lt;- read.table(textConnection("
    PC1        PC2        PC3
    -1.762697 -1.3404825 -0.3098503
    -2.349978 -0.0531175  0.6890453
    -1.074205  1.5606429 -0.6406848
    2.887080 -0.7272039 -0.3687029
    2.299799  0.5601610  0.6301927"
  ), header = TRUE, row.names = c("A", "B", "C", "D", "E"))
  
  require(ggplot2)
  require(dplyr)
  gpobj &lt;- 
    res.ct %&gt;%
    ggplot(mapping = aes(x=PC1, y=PC2)) +
    geom_point(color="grey30") +
    annotate(geom="text", x=res.ct$PC1*1.07, y=res.ct$PC2*1.07,
             label=rownames(res.ct))
  
  for (i in 1:nrow(evec))
  {
    PCx &lt;- evec[i,1]
    PCy &lt;- evec[i,2]
    axisname &lt;- rownames(evec)[[i]]
    gpobj &lt;- gpobj +
      geom_segment(
        data = evec[i,],
        aes(
          x = 0, y = 0,
          xend = PC1, yend = PC2
          # xend = PCx, yend = PCy  #not work as intended
        ),
        arrow = arrow(length = unit(4, "mm")),
        color = "red"
      ) +
      annotate(
        geom = "text",
        x = PCx * 1.15, y = PCy * 1.15,
        label = axisname,
        color = "red"
      )
  }
  gpobj
  </code></pre>
  
  <p>The code works well but when I tried to use the commented line <code>xend = PCx, yend = PCy</code> instead of <code>xend = PC1, yend = PC2</code>, it does not work well as I intended, it does not show the all arrows.</p>
  
  <p><code>xend = PC1, yend = PC2</code> works well:</p>
  
  <p><img src="https://i.stack.imgur.com/wdyUZ.png" alt="&lt;code&gt;xend = PC1, yend = PC2&lt;/code&gt; works well"></p>
  
  <p><code>xend = PCx, yend = PCy</code> does not:</p>
  
  <p><img src="https://i.stack.imgur.com/3RPh3.png" alt="&lt;code&gt;xend = PCx, yend = PCy&lt;/code&gt; does not"></p>
  
  <p>Question: 
  Why does not <code>geom_segment()</code> maintain the previous arrow when the starting and ending points are specified by environment variables rather than referred by variable names from <code>data =</code>?</p>