Skip to content

Commit f8cc364

Browse files
committed
add test for the fix of #8059
1 parent a3d4422 commit f8cc364

File tree

2 files changed

+87
-1
lines changed

2 files changed

+87
-1
lines changed

lib/mpl_toolkits/tests/test_axes_grid1.py

Lines changed: 87 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,12 @@
99
from mpl_toolkits.axes_grid1 import host_subplot
1010
from mpl_toolkits.axes_grid1 import make_axes_locatable
1111
from mpl_toolkits.axes_grid1 import AxesGrid
12-
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes, mark_inset
12+
from mpl_toolkits.axes_grid1.inset_locator import zoomed_inset_axes, mark_inset, \
13+
BboxConnectorPatch
1314
from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar
1415

1516
from matplotlib.colors import LogNorm
17+
from matplotlib.transforms import Bbox, TransformedBbox, blended_transform_factory
1618
from itertools import product
1719

1820
import numpy as np
@@ -155,6 +157,90 @@ def get_demo_image():
155157
ax.add_artist(asb)
156158

157159

160+
@image_comparison(
161+
baseline_images=['fill_facecolor'], extensions=['png'])
162+
def test_fill_facecolor():
163+
fig, ax = plt.subplots(1, 5)
164+
fig.set_size_inches(5, 5)
165+
trans1 = blended_transform_factory(ax[0].transData, ax[0].transData)
166+
trans2 = blended_transform_factory(ax[1].transData, ax[1].transData)
167+
trans3 = blended_transform_factory(ax[2].transData, ax[2].transData)
168+
trans4 = blended_transform_factory(ax[3].transData, ax[3].transData)
169+
trans5 = blended_transform_factory(ax[4].transData, ax[4].transData)
170+
for i in range(1, 4):
171+
ax[i].yaxis.set_visible(False)
172+
ax[4].yaxis.tick_right()
173+
bbox = Bbox.from_extents(0, 0.4, 1, 0.6)
174+
175+
# fill with blue by setting 'fc' field
176+
bbox1 = TransformedBbox(bbox, trans1)
177+
bbox2 = TransformedBbox(bbox, trans2)
178+
# set color to BboxConnectorPatch
179+
p = BboxConnectorPatch(bbox1, bbox2,
180+
loc1a=1, loc2a=2, loc1b=4, loc2b=3,
181+
ec="r", fc="b")
182+
p.set_clip_on(False)
183+
ax[0].add_patch(p)
184+
# set color to marked area
185+
axins = zoomed_inset_axes(ax[0], 1, loc=1)
186+
axins.set_xlim(0, 0.2)
187+
axins.set_ylim(0, 0.2)
188+
plt.gca().axes.get_xaxis().set_ticks([])
189+
plt.gca().axes.get_yaxis().set_ticks([])
190+
mark_inset(ax[0], axins, loc1=2, loc2=4, fc="b", ec="0.5")
191+
192+
# fill with yellow by setting 'facecolor' field
193+
bbox3 = TransformedBbox(bbox, trans2)
194+
bbox4 = TransformedBbox(bbox, trans3)
195+
# set color to BboxConnectorPatch
196+
p = BboxConnectorPatch(bbox3, bbox4,
197+
loc1a=1, loc2a=2, loc1b=4, loc2b=3,
198+
ec="r", facecolor="y")
199+
p.set_clip_on(False)
200+
ax[1].add_patch(p)
201+
# set color to marked area
202+
axins = zoomed_inset_axes(ax[1], 1, loc=1)
203+
axins.set_xlim(0, 0.2)
204+
axins.set_ylim(0, 0.2)
205+
plt.gca().axes.get_xaxis().set_ticks([])
206+
plt.gca().axes.get_yaxis().set_ticks([])
207+
mark_inset(ax[1], axins, loc1=2, loc2=4, facecolor="y", ec="0.5")
208+
209+
# fill with green by setting 'color' field
210+
bbox5 = TransformedBbox(bbox, trans3)
211+
bbox6 = TransformedBbox(bbox, trans4)
212+
# set color to BboxConnectorPatch
213+
p = BboxConnectorPatch(bbox5, bbox6,
214+
loc1a=1, loc2a=2, loc1b=4, loc2b=3,
215+
ec="r", color="g")
216+
p.set_clip_on(False)
217+
ax[2].add_patch(p)
218+
# set color to marked area
219+
axins = zoomed_inset_axes(ax[2], 1, loc=1)
220+
axins.set_xlim(0, 0.2)
221+
axins.set_ylim(0, 0.2)
222+
plt.gca().axes.get_xaxis().set_ticks([])
223+
plt.gca().axes.get_yaxis().set_ticks([])
224+
mark_inset(ax[2], axins, loc1=2, loc2=4, color="g", ec="0.5")
225+
226+
# fill with green but color won't show if set fill to False
227+
bbox7 = TransformedBbox(bbox, trans4)
228+
bbox8 = TransformedBbox(bbox, trans5)
229+
# BboxConnectorPatch won't show green
230+
p = BboxConnectorPatch(bbox7, bbox8,
231+
loc1a=1, loc2a=2, loc1b=4, loc2b=3,
232+
ec="r", fc="g", fill=False)
233+
p.set_clip_on(False)
234+
ax[3].add_patch(p)
235+
# marked area won't show green
236+
axins = zoomed_inset_axes(ax[3], 1, loc=1)
237+
axins.set_xlim(0, 0.2)
238+
axins.set_ylim(0, 0.2)
239+
plt.gca().axes.get_xaxis().set_ticks([])
240+
plt.gca().axes.get_yaxis().set_ticks([])
241+
mark_inset(ax[3], axins, loc1=2, loc2=4, fc="g", ec="0.5", fill=False)
242+
243+
158244
@image_comparison(baseline_images=['zoomed_axes',
159245
'inverted_zoomed_axes'],
160246
extensions=['png'])

0 commit comments

Comments
 (0)