In the course of responding to a request regarding the color handling in
Axes.scatter and pylab.scatter, I decided to raise a more general
question for input from users:
The scatter method has the following signature:
def scatter(self, x, y, s=20, c='b', marker='o', cmap=None, norm=None,
vmin=None, vmax=None, alpha=1.0, linewidths=None,
The size argument, s, is given in squared points; that is, it is a
measure of area, not of linear dimensions.
This strikes me as counterintuitive and not particularly useful. It
seems more natural that the size be a linear dimension; if a user wants
size to vary with area, the user can pass in the square root of the area.
Would anyone object to this change? How strenuously? I am not actually
all that eager to make the change right now myself, so if someone else
wants to do it, that is fine. But in the interests of having mpl
converge on an API that is easy to use and doesn't surprise people any
more than necessary, I think this change is needed.
If the change is made, some mechanism could be used to provide a gradual
changeover so that existing code specifying the squared points would not
suddenly break without warning.