Description
Summary
The documentation to ListedColormap
states that the input should be a list or array
matplotlib/lib/matplotlib/colors.py
Lines 1175 to 1177 in b01462c
However, when specifying N, str
and float
are also supported (if one use the source code)
matplotlib/lib/matplotlib/colors.py
Lines 1199 to 1214 in b01462c
This means that, e.g., ListedColormap("#aabbcc", N=1)
works, but ListedColormap("#aabbcc")
does not (there will be weird errors later, like N=7
for the latter). Given that there is monochrome
attribute and the documentation of N, one may expect the latter to work as well (if the earlier works). Also, ListedColormap(["#aabbcc"])
will not set the monochrome
attribute correctly.
Proposed fix
I think there are three(?) possible solutions:
- Support scalars/strings when N is not provided (and ideally documents that)
- Document that if N is not None, the first argument can be a scalar or string (it is maybe easier to do
ListedColormap(0.3, N=7)
thanListedColormap([0.3]*7)
or at least require slightly less Python knowledge) - Deprecate scalar/string argument
Bonus: document the color
and monochrome
attributes