@@ -343,31 +343,35 @@ def test_legend_handle_label(self):
343
343
with mock .patch ('matplotlib.legend.Legend' ) as Legend :
344
344
fig .legend (lines , ['hello world' ])
345
345
Legend .assert_called_with (fig , lines , ['hello world' ],
346
- bbox_transform = fig .transFigure )
346
+ bbox_transform = fig .transFigure ,
347
+ loc = None )
347
348
348
349
def test_legend_no_args (self ):
349
350
fig , ax = plt .subplots ()
350
351
lines = ax .plot (range (10 ), label = 'hello world' )
351
352
with mock .patch ('matplotlib.legend.Legend' ) as Legend :
352
353
fig .legend ()
353
354
Legend .assert_called_with (fig , lines , ['hello world' ],
354
- bbox_transform = fig .transFigure )
355
+ bbox_transform = fig .transFigure ,
356
+ loc = None )
355
357
356
358
def test_legend_label_arg (self ):
357
359
fig , ax = plt .subplots ()
358
360
lines = ax .plot (range (10 ))
359
361
with mock .patch ('matplotlib.legend.Legend' ) as Legend :
360
362
fig .legend (['foobar' ])
361
363
Legend .assert_called_with (fig , lines , ['foobar' ],
362
- bbox_transform = fig .transFigure )
364
+ bbox_transform = fig .transFigure ,
365
+ loc = None )
363
366
364
367
def test_legend_label_three_args (self ):
365
368
fig , ax = plt .subplots ()
366
369
lines = ax .plot (range (10 ))
367
370
with mock .patch ('matplotlib.legend.Legend' ) as Legend :
368
371
fig .legend (lines , ['foobar' ], 'right' )
369
372
Legend .assert_called_with (fig , lines , ['foobar' ], 'right' ,
370
- bbox_transform = fig .transFigure )
373
+ bbox_transform = fig .transFigure ,
374
+ loc = None )
371
375
372
376
def test_legend_label_three_args_pluskw (self ):
373
377
# test that third argument and loc= called together give
@@ -400,47 +404,43 @@ def test_warn_args_kwargs(self):
400
404
401
405
402
406
def test_figure_legend_outside ():
403
- outside = [True ]* 9 + ['upper' , 'upper' , 'lower' , 'lower' ]
404
- print (outside )
405
- todos = [1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 1 , 2 , 3 , 4 ]
406
- axbb = [[20.347556 , 27.722556 , 659.249 , 588.833 ], # upper right
407
- [151.681556 , 27.722556 , 790.583 , 588.833 ], # upper left
408
- [151.681556 , 27.722556 , 790.583 , 588.833 ], # lower left
409
- [20.347556 , 27.722556 , 659.249 , 588.833 ], # lower right
410
- [20.347556 , 27.722556 , 659.249 , 588.833 ], # right
411
- [151.681556 , 27.722556 , 790.583 , 588.833 ], # center left
412
- [20.347556 , 27.722556 , 659.249 , 588.833 ], # center right
413
- [20.347556 , 71.056556 , 790.583 , 588.833 ], # lower center
414
- [20.347556 , 27.722556 , 790.583 , 545.499 ], # upper center
415
- [20.347556 , 27.722556 , 790.583 , 545.499 ], # up-right,'upper'
416
- [20.347556 , 27.722556 , 790.583 , 545.499 ], # up-left,'upper'
417
- [20.347556 , 71.056556 , 790.583 , 588.833 ], # low-left,'lower'
418
- [20.347556 , 71.056556 , 790.583 , 588.833 ], # low-right,'lower'
419
- ]
420
- legbb = [[667. , 555. , 790. , 590. ], # upper right
421
- [10. , 555. , 133. , 590. ], # upper left
422
- [10. , 10. , 133. , 45. ], # lower left
423
- [667 , 10. , 790. , 45. ], # lower right
424
- [667. , 282.5 , 790. , 317.5 ],
425
- [10. , 282.5 , 133. , 317.5 ],
426
- [667. , 282.5 , 790. , 317.5 ],
427
- [338.5 , 10. , 461.5 , 45. ],
428
- [338.5 , 555. , 461.5 , 590. ],
429
- [667. , 555. , 790. , 590. ], # upper right
430
- [10. , 555. , 133. , 590. ], # upper left
431
- [10. , 10. , 133. , 45. ], # lower left
432
- [667 , 10. , 790. , 45. ], # lower right
433
- ]
407
+ todos = ['upper ' + pos for pos in ['left' , 'center' , 'right' ]]
408
+ todos += ['lower ' + pos for pos in ['left' , 'center' , 'right' ]]
409
+ todos += ['left ' + pos for pos in ['lower' , 'center' , 'upper' ]]
410
+ todos += ['right ' + pos for pos in ['lower' , 'center' , 'upper' ]]
411
+
412
+ upperext = [20.347556 , 27.722556 , 790.583 , 545.499 ]
413
+ lowerext = [20.347556 , 71.056556 , 790.583 , 588.833 ]
414
+ leftext = [151.681556 , 27.722556 , 790.583 , 588.833 ]
415
+ rightext = [20.347556 , 27.722556 , 659.249 , 588.833 ]
416
+ axbb = [upperext , upperext , upperext ,
417
+ lowerext , lowerext , lowerext ,
418
+ leftext , leftext , leftext ,
419
+ rightext , rightext , rightext ]
420
+
421
+ legbb = [[10. , 555. , 133. , 590. ], # upper left
422
+ [338.5 , 555. , 461.5 , 590. ], # upper center
423
+ [667 , 555. , 790. , 590. ], # upper right
424
+ [10. , 10. , 133. , 45. ], # lower left
425
+ [338.5 , 10. , 461.5 , 45. ], # lower center
426
+ [667. , 10. , 790. , 45. ], # lower right
427
+ [10. , 10. , 133. , 45. ], # left lower
428
+ [10. , 282.5 , 133. , 317.5 ], # left center
429
+ [10. , 555. , 133. , 590. ], # left upper
430
+ [667 , 10. , 790. , 45. ], # right lower
431
+ [667. , 282.5 , 790. , 317.5 ], # right center
432
+ [667. , 555. , 790. , 590. ]] # right upper
433
+
434
434
for nn , todo in enumerate (todos ):
435
435
print (todo )
436
436
fig , axs = plt .subplots (constrained_layout = True , dpi = 100 )
437
437
axs .plot (range (10 ), label = 'Boo1' )
438
- leg = fig .legend (loc = todo , outside = outside [ nn ] )
439
- renderer = fig .canvas . get_renderer ()
440
- fig . canvas . draw ()
441
- assert_allclose (axs .get_window_extent (renderer = renderer ).extents ,
438
+ leg = fig .legend (loc = ' outside ' + todo )
439
+ fig .draw_without_rendering ()
440
+
441
+ assert_allclose (axs .get_window_extent ().extents ,
442
442
axbb [nn ])
443
- assert_allclose (leg .get_window_extent (renderer = renderer ).extents ,
443
+ assert_allclose (leg .get_window_extent ().extents ,
444
444
legbb [nn ])
445
445
446
446
0 commit comments