@@ -1573,8 +1573,9 @@ def plot(self, xs, ys, *args, zdir='z', **kwargs):
1573
1573
1574
1574
plot3D = plot
1575
1575
1576
- def plot_surface (self , X , Y , Z , * args , norm = None , vmin = None ,
1577
- vmax = None , lightsource = None , ** kwargs ):
1576
+ def plot_surface (self , X , Y , Z , * args , norm = None , vmin = None , vmax = None ,
1577
+ lightsource = None , facecolors = None , color = None , cmap = None ,
1578
+ shade = None , ** kwargs ):
1578
1579
"""
1579
1580
Create a surface plot.
1580
1581
@@ -1663,25 +1664,20 @@ def plot_surface(self, X, Y, Z, *args, norm=None, vmin=None,
1663
1664
rstride = int (max (np .ceil (rows / rcount ), 1 ))
1664
1665
cstride = int (max (np .ceil (cols / ccount ), 1 ))
1665
1666
1666
- if 'facecolors' in kwargs :
1667
- fcolors = kwargs .pop ('facecolors' )
1668
- else :
1669
- color = kwargs .pop ('color' , None )
1667
+ if facecolors is None :
1670
1668
if color is None :
1671
1669
color = self ._get_lines .get_next_color ()
1672
1670
color = np .array (mcolors .to_rgba (color ))
1673
- fcolors = None
1674
-
1675
- cmap = kwargs .get ('cmap' , None )
1676
- shade = kwargs .pop ('shade' , cmap is None )
1671
+ if shade is None :
1672
+ shade = cmap is None
1677
1673
1678
1674
# Shade the data
1679
- if shade and cmap is not None and fcolors is not None :
1680
- fcolors = self ._shade_colors_lightsource (Z , cmap , lightsource )
1675
+ if shade and cmap is not None and facecolors is not None :
1676
+ facecolors = self ._shade_colors_lightsource (Z , cmap , lightsource )
1681
1677
1682
1678
polys = []
1683
1679
# Only need these vectors to shade if there is no cmap
1684
- if cmap is None and shade :
1680
+ if cmap is None and shade :
1685
1681
totpts = int (np .ceil ((rows - 1 ) / rstride ) *
1686
1682
np .ceil ((cols - 1 ) / cstride ))
1687
1683
v1 = np .empty ((totpts , 3 ))
@@ -1711,8 +1707,8 @@ def plot_surface(self, X, Y, Z, *args, norm=None, vmin=None,
1711
1707
avgzsum = sum (p [2 ] for p in ps2 )
1712
1708
polys .append (ps2 )
1713
1709
1714
- if fcolors is not None :
1715
- colset .append (fcolors [rs ][cs ])
1710
+ if facecolors is not None :
1711
+ colset .append (facecolors [rs ][cs ])
1716
1712
else :
1717
1713
colset .append (avgzsum / len (ps2 ))
1718
1714
@@ -1729,7 +1725,7 @@ def plot_surface(self, X, Y, Z, *args, norm=None, vmin=None,
1729
1725
1730
1726
polyc = art3d .Poly3DCollection (polys , * args , ** kwargs )
1731
1727
1732
- if fcolors is not None :
1728
+ if facecolors is not None :
1733
1729
if shade :
1734
1730
colset = self ._shade_colors (colset , normals )
1735
1731
polyc .set_facecolors (colset )
0 commit comments