<p dir="auto">The documentation on how to write documentation is out of date:</p>
<p dir="auto"><a href="http://matplotlib.org/devdocs/devel/documenting_mpl.html#documenting-matplotlib" rel="nofollow">http://matplotlib.org/devdocs/devel/documenting_mpl.html#documenting-matplotlib</a></p>
<p dir="auto">Specifically, it should refer to our <a href="http://matplotlib.org/devdocs/devel/MEP/MEP10.html" rel="nofollow">MEP10</a></p>
<p dir="auto">I'm running this on Windows 10 / Anaconda Python 3.4.3 / jupyter iPython 4</p>
<p dir="auto">Here's some repro code:</p>
<div class="highlight highlight-source-python notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="import matplotlib.pyplot as plt
import numpy as np

fig = plt.figure(1)
ax = plt.axes([0., 0., 1., 1.])

points = np.random.rand(2,2) # plot 2 points, totally fine
ax.scatter(points[0], points[1], c=[1, 0, 0],  s=200)
points = np.random.rand(2,3) # plot 3 points, hopelessly broken
ax.scatter(points[0], points[1], c=[0, 1, 0], s=200)
points = np.random.rand(2,3) # plot 3 points with string color, totally ok
ax.scatter(points[0], points[1], c='g', s=200)
points = np.random.rand(2,4) # plot 4 points, totally fine
ax.scatter(points[0], points[1], c=[0, 0, 1], s=200)
plt.show()"><pre class="notranslate"><span class="pl-k">import</span> <span class="pl-s1">matplotlib</span>.<span class="pl-s1">pyplot</span> <span class="pl-k">as</span> <span class="pl-s1">plt</span>
<span class="pl-k">import</span> <span class="pl-s1">numpy</span> <span class="pl-k">as</span> <span class="pl-s1">np</span>

<span class="pl-s1">fig</span> <span class="pl-c1">=</span> <span class="pl-s1">plt</span>.<span class="pl-en">figure</span>(<span class="pl-c1">1</span>)
<span class="pl-s1">ax</span> <span class="pl-c1">=</span> <span class="pl-s1">plt</span>.<span class="pl-en">axes</span>([<span class="pl-c1">0.</span>, <span class="pl-c1">0.</span>, <span class="pl-c1">1.</span>, <span class="pl-c1">1.</span>])

<span class="pl-s1">points</span> <span class="pl-c1">=</span> <span class="pl-s1">np</span>.<span class="pl-s1">random</span>.<span class="pl-en">rand</span>(<span class="pl-c1">2</span>,<span class="pl-c1">2</span>) <span class="pl-c"># plot 2 points, totally fine</span>
<span class="pl-s1">ax</span>.<span class="pl-en">scatter</span>(<span class="pl-s1">points</span>[<span class="pl-c1">0</span>], <span class="pl-s1">points</span>[<span class="pl-c1">1</span>], <span class="pl-s1">c</span><span class="pl-c1">=</span>[<span class="pl-c1">1</span>, <span class="pl-c1">0</span>, <span class="pl-c1">0</span>],  <span class="pl-s1">s</span><span class="pl-c1">=</span><span class="pl-c1">200</span>)
<span class="pl-s1">points</span> <span class="pl-c1">=</span> <span class="pl-s1">np</span>.<span class="pl-s1">random</span>.<span class="pl-en">rand</span>(<span class="pl-c1">2</span>,<span class="pl-c1">3</span>) <span class="pl-c"># plot 3 points, hopelessly broken</span>
<span class="pl-s1">ax</span>.<span class="pl-en">scatter</span>(<span class="pl-s1">points</span>[<span class="pl-c1">0</span>], <span class="pl-s1">points</span>[<span class="pl-c1">1</span>], <span class="pl-s1">c</span><span class="pl-c1">=</span>[<span class="pl-c1">0</span>, <span class="pl-c1">1</span>, <span class="pl-c1">0</span>], <span class="pl-s1">s</span><span class="pl-c1">=</span><span class="pl-c1">200</span>)
<span class="pl-s1">points</span> <span class="pl-c1">=</span> <span class="pl-s1">np</span>.<span class="pl-s1">random</span>.<span class="pl-en">rand</span>(<span class="pl-c1">2</span>,<span class="pl-c1">3</span>) <span class="pl-c"># plot 3 points with string color, totally ok</span>
<span class="pl-s1">ax</span>.<span class="pl-en">scatter</span>(<span class="pl-s1">points</span>[<span class="pl-c1">0</span>], <span class="pl-s1">points</span>[<span class="pl-c1">1</span>], <span class="pl-s1">c</span><span class="pl-c1">=</span><span class="pl-s">'g'</span>, <span class="pl-s1">s</span><span class="pl-c1">=</span><span class="pl-c1">200</span>)
<span class="pl-s1">points</span> <span class="pl-c1">=</span> <span class="pl-s1">np</span>.<span class="pl-s1">random</span>.<span class="pl-en">rand</span>(<span class="pl-c1">2</span>,<span class="pl-c1">4</span>) <span class="pl-c"># plot 4 points, totally fine</span>
<span class="pl-s1">ax</span>.<span class="pl-en">scatter</span>(<span class="pl-s1">points</span>[<span class="pl-c1">0</span>], <span class="pl-s1">points</span>[<span class="pl-c1">1</span>], <span class="pl-s1">c</span><span class="pl-c1">=</span>[<span class="pl-c1">0</span>, <span class="pl-c1">0</span>, <span class="pl-c1">1</span>], <span class="pl-s1">s</span><span class="pl-c1">=</span><span class="pl-c1">200</span>)
<span class="pl-s1">plt</span>.<span class="pl-en">show</span>()</pre></div>
<p dir="auto">Here's what I get:</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/704823/10875507/0e2d8a62-80e8-11e5-9a6a-63bd7c144650.png"><img src="https://cloud.githubusercontent.com/assets/704823/10875507/0e2d8a62-80e8-11e5-9a6a-63bd7c144650.png" alt="download 1" style="max-width: 100%;"></a></p>
<p dir="auto">As you can see, plotting 2, 4, or any other number of points using <code class="notranslate">ax.scatter</code> is fine, but graphing 3 points while using RGB color array results in two points as black, and one point as white, instead of using the specified color.</p>
<p dir="auto">Here's an example on a real dataset. As you can see, it also messes with the legend color. It's hard to diagnose the issue because it's completely non-obvious that the number of points plotted is what triggers the bug.<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/704823/10875511/17ee50cc-80e8-11e5-81da-d02cf80d489c.png"><img src="https://cloud.githubusercontent.com/assets/704823/10875511/17ee50cc-80e8-11e5-81da-d02cf80d489c.png" alt="download 2" style="max-width: 100%;"></a></p>
<p dir="auto">I was pulling my hair out for awhile until I realized that the problem only manifested itself on series that had 3 members.</p>