Handle .ndim and [:, np.newaxis] on VariableView #1412
Merged
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.
These are used when handing a
VariableView
directly to matplotlib, e.g. forspike_mon.i
(an expression likespike_mon.t/ms
directly results in anndarray
and is therefore not concerned). This problem was introduced with matplotlib 3.5.2, previous versions convertedVariableView
along the way with a call tonp.asanyarray
.The fix is a minimal workaround, but we have plenty of examples, including the tutorials, that will fail plotting, so fixing this is urgent. For a proper fix I'd like to think a bit more about how (and whether) to support features like adding array dimensions, in particular for synaptic variables which support a form of 2d-indexing which is not the same as for a 2d
ndarray
.Fixes #1409