xunits=None and yunits=None passed as kwargs are treated as "no action"ΒΆ

Many (but not all) of the methods on Axes take the (undocumented) kwargs xunits and yunits that will update the units on the given Axis by calling Axis.set_units and Axis.update_units.

Previously if None was passed it would clear the value stored in .Axis.units which will in turn break converters (notably StrCategoryConverter) which rely on the value in .Axis.units to work properly.

This changes the semantics of ax.meth(..., xunits=None, yunits=None) from "please clear the units" to "do the default thing as if they had not been passed" which is consistent with the standard behavior of Matplotlib keyword arguments.

If you were relying on passing xuints=None to plotting methods to clear the .Axes.units attribute, directly call Axis.set_units (and Axis.update_units if you also require the converter to be updated).