@@ -475,6 +475,44 @@ def test_EllipseCollection():
475475 ax .autoscale_view ()
476476
477477
478+ @image_comparison (baseline_images = ['polycollection_close' ],
479+ extensions = ['png' ], remove_text = True )
480+ def test_polycollection_close ():
481+ from mpl_toolkits .mplot3d import Axes3D
482+
483+ vertsQuad = [
484+ [[0. , 0. ], [0. , 1. ], [1. , 1. ], [1. , 0. ]],
485+ [[0. , 1. ], [2. , 3. ], [2. , 2. ], [1. , 1. ]],
486+ [[2. , 2. ], [2. , 3. ], [4. , 1. ], [3. , 1. ]],
487+ [[3. , 0. ], [3. , 1. ], [4. , 1. ], [4. , 0. ]]]
488+
489+ fig = plt .figure ()
490+ ax = Axes3D (fig )
491+
492+ colors = ['r' , 'g' , 'b' , 'y' , 'k' ]
493+ zpos = list (range (5 ))
494+
495+ poly = mcollections .PolyCollection (
496+ vertsQuad * len (zpos ), linewidth = 0.25 )
497+ poly .set_alpha (0.7 )
498+
499+ ## need to have a z-value for *each* polygon = element!
500+ zs = []
501+ cs = []
502+ for z , c in zip (zpos , colors ):
503+ zs .extend ([z ] * len (vertsQuad ))
504+ cs .extend ([c ] * len (vertsQuad ))
505+
506+ poly .set_color (cs )
507+
508+ ax .add_collection3d (poly , zs = zs , zdir = 'y' )
509+
510+ ## axis limit settings:
511+ ax .set_xlim3d (0 , 4 )
512+ ax .set_zlim3d (0 , 3 )
513+ ax .set_ylim3d (0 , 4 )
514+
515+
478516if __name__ == '__main__' :
479517 import nose
480518 nose .runmodule (argv = ['-s' , '--with-doctest' ], exit = False )
0 commit comments