title: ggpairs wrong color mapping when factor is numeric
body: <p>I am having problems with the ggpairs colour mapping. When the variable used to set the colour is a character (converted to a factor), things work as expected:</p>
  
  <pre><code>library(GGally)
  
  data(state)
  df &lt;- data.frame(state.x77,
               State = state.name,
               Abbrev = state.abb,
               Region = state.region,
               Division = state.division
  ) 
  
  col.index &lt;- c(3,5,6,7)
  
  p &lt;- ggpairs(df, 
  
      # columns to include in the matrix
      columns = col.index,
  
      # what to include above the diagonal
      upper = list(continuous = "cor"),
  
      # what to include below the diagonal
      lower = list(continuous = "points"),
  
      # what to include in the diagonal
      diag = "blank",
  
      # how to label plots
      axisLabels = "show",
  
      # other aes() parameters
      legends=F,
      colour = "Region",
      title = "Plot Title"
  
  )
  
  print(p)
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/ZZzBQ.png" alt="plot1"></p>
  
  <p>Note that the order of the colours in the correlation plots is: green, blue, red, purple.</p>
  
  <p>However, when the variable used to set the colour is numeric (converted to a factor):</p>
  
  <pre><code>df.numeric &lt;- df
  df.numeric$Region &lt;- as.character(df.numeric$Region)
  df.numeric$Region[which(df.numeric$Region == "Northeast")] &lt;- 1
  df.numeric$Region[which(df.numeric$Region == "South")] &lt;- 3
  df.numeric$Region[which(df.numeric$Region == "North Central")] &lt;- 10
  df.numeric$Region[which(df.numeric$Region == "West")] &lt;- 13
  df.numeric$Region &lt;- factor(df.numeric$Region, levels = c(1,3,10,13))
  
  p &lt;- ggpairs(df.numeric, 
  
      # columns to include in the matrix
      columns = col.index,
  
      # what to include above the diagonal
      upper = list(continuous = "cor"),
  
      # what to include below the diagonal
      lower = list(continuous = "points"),
  
      # what to include in the diagonal
      diag = "blank",
  
      # how to label plots
      axisLabels = "show",
  
      # other aes() parameters
      legends=F,
      colour = "Region",
      title = "Plot Title"
  
  )
  
  print(p)
  </code></pre>
  
  <p><img src="https://i.stack.imgur.com/duDRy.png" alt="plot2"></p>
  
  <p>I get a problem... despite the fact that I made sure the order of the levels is correct (1, 3, 10, 13).</p>
  
  <p>For some reason the colors in the correlation plots have changed order - they are now green, purple, red, blue. However, notice the scatter plots look the same... this means the info no longer corresponds across plots. </p>
  
  <p>I will be using a custom list of colours, each of which must correspond to a specific numerical group (in order to match other plots I am generating). Does anyone know how to fix this?</p>