Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 6015417

Browse filesBrowse files
authored
Merge pull request #19949 from jklymak/fix-subfigure-indexing
FIX: subfigure indexing error
2 parents 6c940e8 + b1651f4 commit 6015417
Copy full SHA for 6015417

File tree

Expand file treeCollapse file tree

2 files changed

+24
-2
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+24
-2
lines changed

‎lib/matplotlib/figure.py

Copy file name to clipboardExpand all lines: lib/matplotlib/figure.py
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2035,11 +2035,11 @@ def _redo_transform_rel_fig(self, bbox=None):
20352035

20362036
x0 = 0
20372037
if not self._subplotspec.is_first_col():
2038-
x0 += np.sum(wr[self._subplotspec.colspan.start - 1]) / np.sum(wr)
2038+
x0 += np.sum(wr[:self._subplotspec.colspan.start]) / np.sum(wr)
20392039

20402040
y0 = 0
20412041
if not self._subplotspec.is_last_row():
2042-
y0 += 1 - (np.sum(hr[self._subplotspec.rowspan.stop - 1]) /
2042+
y0 += 1 - (np.sum(hr[:self._subplotspec.rowspan.stop]) /
20432043
np.sum(hr))
20442044

20452045
if self.bbox_relative is None:

‎lib/matplotlib/tests/test_figure.py

Copy file name to clipboardExpand all lines: lib/matplotlib/tests/test_figure.py
+22Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -998,6 +998,28 @@ def test_subfigure_double():
998998
axsRight = subfigs[1].subplots(2, 2)
999999

10001000

1001+
def test_subfigure_spanning():
1002+
# test that subfigures get laid out properly...
1003+
fig = plt.figure(constrained_layout=True)
1004+
gs = fig.add_gridspec(3, 3)
1005+
sub_figs = [
1006+
fig.add_subfigure(gs[0, 0]),
1007+
fig.add_subfigure(gs[0:2, 1]),
1008+
fig.add_subfigure(gs[2, 1:3]),
1009+
]
1010+
1011+
w = 640
1012+
h = 480
1013+
np.testing.assert_allclose(sub_figs[0].bbox.min, [0., h * 2/3])
1014+
np.testing.assert_allclose(sub_figs[0].bbox.max, [w / 3, h])
1015+
1016+
np.testing.assert_allclose(sub_figs[1].bbox.min, [w / 3, h / 3])
1017+
np.testing.assert_allclose(sub_figs[1].bbox.max, [w * 2/3, h])
1018+
1019+
np.testing.assert_allclose(sub_figs[2].bbox.min, [w / 3, 0])
1020+
np.testing.assert_allclose(sub_figs[2].bbox.max, [w, h / 3])
1021+
1022+
10011023
def test_add_subplot_kwargs():
10021024
# fig.add_subplot() always creates new axes, even if axes kwargs differ.
10031025
fig = plt.figure()

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.