Fix colorbar test and color level determination for contour #8737
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
test_given_colors_levels_and_extends()
is failing with numpy 1.13, and I think the failure exposes a wider problem with contour colours.If plotting a non-filled contour, the number of colours needed is the same as the number of levels regardless of whether the colorbar is extended or not. This is why the indices
i0
andi1
are now only modified ifself.filled
isTrue
inlib/matplotlib/contour.py
.If plotting a filled contour, the number of colours depends on whether the colorbar is extended or not. This is dealt with by the logic that I've added a tab to in
lib/matplotlib/contour.py
I have also changed the test, so that the colour of each filled level/contour level is the same across the images.
Finally, I think that there should probably be a check for the correct length of the
colors
kwarg that throws a sensible error message if it is wrong. Currently (starting with numpy 1.13) a cryptic index error will be raised (see https://travis-ci.org/matplotlib/matplotlib/jobs/241271218#L1767)