Is there a minimum size for filled markers?

I am trying to make a scatterplot where I need the points to be very small. I’d like them to be very small filled circles (i.e., points), but when I try to plot filled markers (with marker=‘o’ or marker=’.’; either using plt.plot with fillstyle=‘full’ or using plt.scatter which defaults to filled markers ) all I get are open markers if the size for the markers is less than 0.5 (to get the plot I want, the marker size needs to be about 0.1 or 0.05).

So is there some unstated minimum marker size that’s allowed? The only way I can currently get the plot to look decent is to use the pixel marker, set the plot to rasterized, and adjust the DPI at output to get the actual point size I want. But that doesn’t work well because it’s a multipanel plot and I’d like slightly different sized markers in different panels.

For reference, here are the plotting commands I’ve tried:
ax2.scatter(y,z,marker=‘o’,color=’#009E73’,s=0.1)
ax2.scatter(y,z,marker=’.’,color=’#009E73’,s=0.1)
ax2.plot(y,z,marker=‘o’,linestyle=‘none’, color=’#009E73’,markersize=0.1,fillstyle=‘full’)
ax2.plot(y,z,marker=’.’,linestyle=‘none’, color=’#009E73’,markersize=0.1,fillstyle=‘full’)

They all result in the following:

This is because of a bug when the marker edge width is larger than its size.

You can fix it by also specifying a smaller markeredgewidth.

1 Like

That fixes it, thanks so much!