<p dir="auto">Matplotlib draws markers centered around individual pixels of the picture, which means that actual marker coordinates are approximated.  This is a considerable problem when smaller resolution plots are required (e.g. creating videos).  In particular, markers with slightly different coordinates are displayed on the same position.</p>
<p dir="auto">For MWE below, all six points have different ordinate values, yet it seems as if points 2,3 and points 4,5,6 have the same value.</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/18025812/25396183/ee54cdf8-29e3-11e7-8cd2-d5085592a4c0.png"><img src="https://cloud.githubusercontent.com/assets/18025812/25396183/ee54cdf8-29e3-11e7-8cd2-d5085592a4c0.png" alt="bad" style="max-width: 100%;"></a></p>
<p dir="auto">MWE:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import matplotlib
from matplotlib import pyplot as plt

coor = [[0.5,0.525,0.55,0.575,0.6,0.625],[0.5,0.501,0.502,0.503,0.504,0.505]]

fig = plt.figure(figsize=(3.5,3.5))
plts=fig.add_subplot(1,1,1)
fig.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, hspace=0, wspace=0)

plts.set_xlim([0,1])
plts.set_ylim([0,1])
plts.get_xaxis().set_visible(False)
plts.get_yaxis().set_visible(False)

grph = plts.scatter(coor[0],coor[1],facecolor='k',marker='o',lw=0,s=25)
fig.savefig('test.png', bbox_inches='tight', dpi=100)"><pre class="notranslate"><code class="notranslate">import matplotlib
from matplotlib import pyplot as plt

coor = [[0.5,0.525,0.55,0.575,0.6,0.625],[0.5,0.501,0.502,0.503,0.504,0.505]]

fig = plt.figure(figsize=(3.5,3.5))
plts=fig.add_subplot(1,1,1)
fig.subplots_adjust(left=0.01, right=0.99, bottom=0.01, top=0.99, hspace=0, wspace=0)

plts.set_xlim([0,1])
plts.set_ylim([0,1])
plts.get_xaxis().set_visible(False)
plts.get_yaxis().set_visible(False)

grph = plts.scatter(coor[0],coor[1],facecolor='k',marker='o',lw=0,s=25)
fig.savefig('test.png', bbox_inches='tight', dpi=100)
</code></pre></div>
<p dir="auto">According to my visual experience, about two intermediate steps should be included so that the problem is no longer perceived.</p>
<p dir="auto">The problem can be worked around by creating larger resolution plots and then downscaling them, which is sometimes a tedious process with bad side effects.</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/18025812/25395890/e672ab9c-29e2-11e7-8a99-4bd8bef3560a.jpg"><img src="https://cloud.githubusercontent.com/assets/18025812/25395890/e672ab9c-29e2-11e7-8a99-4bd8bef3560a.jpg" alt="good" style="max-width: 100%;"></a></p>
<p dir="auto">This problem was also reported on Stackoverflow:</p>
<p dir="auto"><a href="http://stackoverflow.com/questions/43589568/increase-point-drawing-precision/" rel="nofollow">http://stackoverflow.com/questions/43589568/increase-point-drawing-precision/</a></p>
<p dir="auto">Best regards</p>
<p dir="auto">mpl 1.5.3/2.0b4/master, no matplotlibrc</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="_xs = np.linspace(0, 30, 201); plt.plot(_xs, scipy.stats.lognorm.pdf(_xs / 14, .472) / 14, &quot;.&quot;)"><pre class="notranslate"><code class="notranslate">_xs = np.linspace(0, 30, 201); plt.plot(_xs, scipy.stats.lognorm.pdf(_xs / 14, .472) / 14, ".")
</code></pre></div>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://cloud.githubusercontent.com/assets/1322974/19205573/2ae8b19c-8c98-11e6-84f8-89ecbdca82c1.png"><img src="https://cloud.githubusercontent.com/assets/1322974/19205573/2ae8b19c-8c98-11e6-84f8-89ecbdca82c1.png" alt="plot" style="max-width: 100%;"></a></p>
<p dir="auto">Note the slight inaccuracy in positioning of the markers at the positioning of the markers at the positions marked with the red circles, resulting in a "step-like" behavior (you may need to open the image in a larger viewer to notice it).</p>
<p dir="auto">The data itself does not present this behavior, as can be checked just by zooming in these regions.</p>