def METHOD_NAME(scale, axis, **kwargs):
    """
    Backwards compatability for creation of independent scales.
    Matplotlib scales require an Axis object for instantiation on < 3.4.
    But the axis is not used, aside from extraction of the axis_name in LogScale.
    """
    modify_transform = False
    if _version_predates(mpl, "3.4"):
        if axis[0] in "xy":
            modify_transform = True
            axis = axis[0]
            base = kwargs.pop("base", None)
            if base is not None:
                kwargs[f"base{axis}"] = base
            nonpos = kwargs.pop("nonpositive", None)
            if nonpos is not None:
                kwargs[f"nonpos{axis}"] = nonpos
    if isinstance(scale, str):
        class Axis:
            axis_name = axis
        axis = Axis()
    scale = mpl.scale.METHOD_NAME(scale, axis, **kwargs)
    if modify_transform:
        transform = scale.get_transform()
        transform.base = kwargs.get("base", 10)
        if kwargs.get("nonpositive") == "mask":
            # Setting a private attribute, but we only get here
            # on an old matplotlib, so this won't break going forwards
            transform._clip = False
    return scale