title: matplotlib.scatter() not working with Numpy on Python 3.6
body: <p>I'm having some difficulty in understanding why matplotlib.scatter() keeps throwing the following exception when using Python 3.6.3 as an interpreter but works fine when using 2.7 that is built-in to my MacBook:</p>
  
  <pre><code>Traceback (most recent call last):
    File "/Users/thomastiotto/python_envs/MachineLearning/lib/python3.6/site-packages/matplotlib/colors.py", line 132, in to_rgba
      rgba = _colors_full_map.cache[c, alpha]
  TypeError: unhashable type: 'numpy.ndarray'
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "/Users/thomastiotto/python_envs/MachineLearning/lib/python3.6/site-packages/matplotlib/axes/_axes.py", line 4050, in scatter
      colors = mcolors.to_rgba_array(c)
    File "/Users/thomastiotto/python_envs/MachineLearning/lib/python3.6/site-packages/matplotlib/colors.py", line 233, in to_rgba_array
      result[i] = to_rgba(cc, alpha)
    File "/Users/thomastiotto/python_envs/MachineLearning/lib/python3.6/site-packages/matplotlib/colors.py", line 134, in to_rgba
      rgba = _to_rgba_no_colorcycle(c, alpha)
    File "/Users/thomastiotto/python_envs/MachineLearning/lib/python3.6/site-packages/matplotlib/colors.py", line 189, in _to_rgba_no_colorcycle
      raise ValueError("RGBA sequence should have length 3 or 4")
  ValueError: RGBA sequence should have length 3 or 4
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "/Users/thomastiotto/Documents/USI/1 semester/Machine Learning/Assignments/Assignment 1/skeleton.py", line 458, in &lt;module&gt;
      main()
    File "/Users/thomastiotto/Documents/USI/1 semester/Machine Learning/Assignments/Assignment 1/skeleton.py", line 455, in main
      run_part1()
    File "/Users/thomastiotto/Documents/USI/1 semester/Machine Learning/Assignments/Assignment 1/skeleton.py", line 156, in run_part1
      plot_boundary(p, X, T)
    File "/Users/thomastiotto/Documents/USI/1 semester/Machine Learning/Assignments/Assignment 1/skeleton.py", line 142, in plot_boundary
      plot_data(X, targets)
    File "/Users/thomastiotto/Documents/USI/1 semester/Machine Learning/Assignments/Assignment 1/skeleton.py", line 129, in plot_data
      plt.scatter(X[:, 0], X[:, 1], s=40, c=T, cmap=plt.cm.Spectral)
    File "/Users/thomastiotto/python_envs/MachineLearning/lib/python3.6/site-packages/matplotlib/pyplot.py", line 3357, in scatter
      edgecolors=edgecolors, data=data, **kwargs)
    File "/Users/thomastiotto/python_envs/MachineLearning/lib/python3.6/site-packages/matplotlib/__init__.py", line 1710, in inner
      return func(ax, *args, **kwargs)
    File "/Users/thomastiotto/python_envs/MachineLearning/lib/python3.6/site-packages/matplotlib/axes/_axes.py", line 4055, in scatter
      raise ValueError(msg.format(c.shape, x.size, y.size))
  ValueError: c of shape (11, 1) not acceptable as a color sequence for x with size 11, y with size 11
  </code></pre>
  
  <p>I am trying to execute the following code:</p>
  
  <pre><code>def plot_data(X, T):
      """
      Plots the 2D data as a scatterplot
      """
      plt.scatter(X[:, 0], X[:, 1], s=40, c=T, cmap=plt.cm.Spectral)
  
  
  def plot_boundary(model, X, targets, threshold=0.0):
      """
      Plots the data and the boundary lane which separates the input space into two classes.
      """
      x_min, x_max = X[:, 0].min() - .5, X[:, 0].max() + .5
      y_min, y_max = X[:, 1].min() - .5, X[:, 1].max() + .5
      xx, yy = np.meshgrid(np.linspace(x_min, x_max, 200), np.linspace(y_min, y_max, 200))
      X_grid = np.c_[xx.ravel(), yy.ravel()]
      y = model.forward(X_grid)
      plt.contourf(xx, yy, y.reshape(*xx.shape) &lt; threshold, alpha=0.5)
      plot_data(X, targets)
      plt.ylim([y_min, y_max])
      plt.xlim([x_min, x_max])
  </code></pre>
  
  <p>I call the function as:</p>
  
  <pre><code>plot_boundary(p, X, T)
  </code></pre>
  
  <p>With X being an [11x2] Numpy array.</p>
  
  <p>If I set my interpreter to the built-in Python 2.7 on MacOS the code runs fine, setting it to Python 3.6.2 or 3.6.3 results in the error above.  Matplotlib version is 1.3.1 in former case and 2.1 in the latter.</p>
  
  <p>Any ideas?</p>