Create better concordance in the scheme parameter
The scheme parameter accepts either a string name of a classifier (e.g. EqualInterval) or a fitted mapclassify object (e.g. mc.EqualInterval(df, k=5)). The following changes ought to be made:
-
Currently discrete categorical binning is only possible by passing the string
"categorical"to theschemeparameter. The problem is that this magic value is not at all discoverable. It really need to have an equivalentmapclassifyexpression: e.g.mc.Discrete.Also, this string should be renamed to
"discrete", as"categorical"is confusing, and not a good name for amapclassifyscheme.See #144 for discussion and a clear use case.
-
mapclassifyschemes need to be create-able in unfitted form, and you should be able to pass both an unfitted and fitted scheme togeoplot. Passing a fitted scheme is necessary for the "scheme reuse" feature, whilst passing an unfitted scheme is necessary for palatable input to plots that generate data just-in-time (e.g.quadtree), and thus are categorically opaque to the user.
Both of these changes require contribs to mapclassify.
See this gitter comment for some notes on implementation.
The second bullet point should now be possible due to mapclassify#51, specifically pooling.py which was added here.