Deprecate auto-removal of overlapping Axes by plt.subplot{,2grid}.#22418
Deprecate auto-removal of overlapping Axes by plt.subplot{,2grid}.#22418jklymak merged 1 commit intomatplotlib:mainfrom
Conversation
timhoffm
left a comment
There was a problem hiding this comment.
If something is intentionally built in, there's usually a reason. Do have an idea why people might want to replace fully overlapped axes? Is this maybe MATLAB behavior?
I agree that this behavior is quite unexpected, and I'm +0.8 on removing. I just want to make sure we're not busting a valid use case. While you can remove fully overlapping axes manually, that's quite a bit of an effort, in particular if you come from the "simple" pyplot interface. The alternative to a full deprecation would be to make this configurable via a parameter and migrate the default to not removing.
|
I don't think it comes from MATLAB (#7377 (comment)) |
|
90% Matlab does this if the subplot slot is the same. I think it even does it if the subplot slots overlap. What it does not do is check for overlaps of manually placed axes. |
|
Ah, good catch, I just check that it does... |
|
OTOH my comment wasn't in favour of keeping the Matlab behavior and I was 95% sure we had already deprecated it? Maybe we reverted it as too intrusive? |
|
I don't think(?) we deprecated that before. |
| ax = plt.subplot(1, 2, 1) | ||
| ax1 = plt.subplot(1, 2, 1) | ||
| ax2 = plt.subplot(1, 2, 2) | ||
| # This will delete ax / ax1 as they fully overlap |
There was a problem hiding this comment.
At least one should be kept and the warning captured.
|
It appears tests don't like it? |
In particular, note that the OO add_subplot does not have this behavior.
|
oops, should be fixed. |
In particular, note that the OO add_subplot does not have this behavior.
Closes #4976. Closes #11435 (which was deemed "not a bug", but still...)
PR Summary
PR Checklist
Tests and Styling
pytestpasses).flake8-docstringsand runflake8 --docstring-convention=all).Documentation
doc/users/next_whats_new/(follow instructions in README.rst there).doc/api/next_api_changes/(follow instructions in README.rst there).