@@ -200,14 +200,17 @@ def autoscale_view(self, scalex=True, scaley=True, scalez=True):
200200
201201 def get_w_lims (self ):
202202 '''Get 3d world limits.'''
203- minpy , maxx = self .get_xlim3d ()
203+ minx , maxx = self .get_xlim3d ()
204204 miny , maxy = self .get_ylim3d ()
205205 minz , maxz = self .get_zlim3d ()
206- return minpy , maxx , miny , maxy , minz , maxz
206+ return minx , maxx , miny , maxy , minz , maxz
207207
208208 def _determine_lims (self , xmin = None , xmax = None , * args , ** kwargs ):
209209 if xmax is None and cbook .iterable (xmin ):
210210 xmin , xmax = xmin
211+ if xmin == xmax :
212+ xmin -= 0.5
213+ xmax += 0.5
211214 return (xmin , xmax )
212215
213216 def set_xlim3d (self , * args , ** kwargs ):
@@ -442,12 +445,12 @@ def _on_move(self, event):
442445 elif self .button_pressed == 3 :
443446 # zoom view
444447 # hmmm..this needs some help from clipping....
445- minpy , maxx , miny , maxy , minz , maxz = self .get_w_lims ()
448+ minx , maxx , miny , maxy , minz , maxz = self .get_w_lims ()
446449 df = 1 - ((h - dy )/ h )
447- dx = (maxx - minpy )* df
450+ dx = (maxx - minx )* df
448451 dy = (maxy - miny )* df
449452 dz = (maxz - minz )* df
450- self .set_xlim3d (minpy - dx , maxx + dx )
453+ self .set_xlim3d (minx - dx , maxx + dx )
451454 self .set_ylim3d (miny - dy , maxy + dy )
452455 self .set_zlim3d (minz - dz , maxz + dz )
453456 self .get_proj ()
@@ -903,13 +906,12 @@ def bar(self, left, height, zs=0, zdir='z', *args, **kwargs):
903906 patches = Axes .bar (self , left , height , * args , ** kwargs )
904907
905908 if not cbook .iterable (zs ):
906- zs = np .ones (len (left ))* zs
907-
909+ zs = np .ones (len (left )) * zs
908910
909911 verts = []
910912 verts_zs = []
911913 for p , z in zip (patches , zs ):
912- vs = p . get_verts ( )
914+ vs = art3d . get_patch_verts ( p )
913915 verts += vs .tolist ()
914916 verts_zs += [z ] * len (vs )
915917 art3d .patch_2d_to_3d (p , zs , zdir )
@@ -933,7 +935,6 @@ def bar3d(self, x, y, z, dx, dy, dz, color='b'):
933935 had_data = self .has_data ()
934936
935937 if not cbook .iterable (x ):
936- print 'not interable'
937938 x , y , z = [x ], [y ], [z ]
938939 if not cbook .iterable (dx ):
939940 dx , dy , dz = [dx ], [dy ], [dz ]
0 commit comments