@@ -3979,17 +3979,6 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None,
39793979 else :
39803980 try :
39813981 c_array = np .asanyarray (c , dtype = float )
3982- if c_array .ndim > 1 :
3983- if cmap is None :
3984- cmap = mcolors .BivariateColormap ()
3985- if norm is None :
3986- norm = mcolors .BivariateNorm ()
3987- c_array = norm (c_array )
3988- c_array [0 ] = c_array [0 ] * (cmap .N - 1 )
3989- c_array [1 ] = c_array [1 ] * (cmap .N - 1 )
3990- c_array = c_array .astype (int )
3991- c_array = c_array [0 ] + cmap .N * c_array [1 ]
3992- norm = mcolors .NoNorm ()
39933982 if c_array .shape in xy_shape :
39943983 c = np .ma .ravel (c_array )
39953984 else :
@@ -4054,10 +4043,8 @@ def scatter(self, x, y, s=None, c=None, marker=None, cmap=None, norm=None,
40544043 collection .update (kwargs )
40554044
40564045 if colors is None :
4057- isNorm = isinstance (norm , (mcolors .Normalize , mcolors .BivariateNorm ))
4058- if norm is not None and not isNorm :
4059- msg = "'norm' must be an instance of 'mcolors.Normalize' " \
4060- "or 'mcolors.BivariateNorm'"
4046+ if norm is not None and not isinstance (norm , mcolors .Normalize ):
4047+ msg = "'norm' must be an instance of 'mcolors.Normalize'"
40614048 raise ValueError (msg )
40624049 collection .set_array (np .asarray (c ))
40634050 collection .set_cmap (cmap )
@@ -5133,6 +5120,11 @@ def imshow(self, X, cmap=None, norm=None, aspect=None,
51335120
51345121 """
51355122
5123+ temp = np .asarray (X )
5124+ if temp .ndim == 3 and isinstance (norm , mcolors .BivariateNorm ):
5125+ temp = norm (temp )
5126+ X = cmap (temp , alpha = self .get_alpha (), bytes = True )
5127+
51365128 if not self ._hold :
51375129 self .cla ()
51385130
@@ -5146,21 +5138,6 @@ def imshow(self, X, cmap=None, norm=None, aspect=None,
51465138 aspect = rcParams ['image.aspect' ]
51475139 self .set_aspect (aspect )
51485140
5149- temp = np .asarray (X )
5150- isBivari = (isinstance (norm , mcolors .BivariateNorm ) or
5151- isinstance (cmap , mcolors .BivariateColormap ))
5152- if (temp .ndim == 3 and isBivari ):
5153- if cmap is None :
5154- cmap = mcolors .BivariateColormap ()
5155- if norm is None :
5156- norm = mcolors .BivariateNorm ()
5157- temp = norm (temp )
5158- temp [0 ] = temp [0 ] * (cmap .N - 1 )
5159- temp [1 ] = temp [1 ] * (cmap .N - 1 )
5160- temp = temp .astype (int )
5161- X = temp [0 ] + cmap .N * temp [1 ]
5162- norm = mcolors .NoNorm ()
5163-
51645141 im = mimage .AxesImage (self , cmap , norm , interpolation , origin , extent ,
51655142 filternorm = filternorm , filterrad = filterrad ,
51665143 resample = resample , ** kwargs )
@@ -5201,10 +5178,10 @@ def _pcolorargs(funcname, *args, **kw):
52015178 allmatch = kw .pop ("allmatch" , False )
52025179 norm = kw .pop ("norm" , None )
52035180 cmap = kw .pop ("cmap" , None )
5181+ alpha = kw .pop ("alpha" , 1 )
52045182
52055183 if len (args ) == 1 :
52065184 C = np .asanyarray (args [0 ])
5207-
52085185 isBivari = (isinstance (norm , mcolors .BivariateNorm ) or
52095186 isinstance (cmap , mcolors .BivariateColormap ))
52105187 if (C .ndim == 3 and isBivari ):
@@ -5213,12 +5190,6 @@ def _pcolorargs(funcname, *args, **kw):
52135190 if norm is None :
52145191 norm = mcolors .BivariateNorm ()
52155192 C = norm (C )
5216- C [0 ] = C [0 ] * (cmap .N - 1 )
5217- C [1 ] = C [1 ] * (cmap .N - 1 )
5218- C = C .astype (int )
5219- C = C [0 ] + cmap .N * C [1 ]
5220- C = np .array (C )
5221-
52225193 numRows , numCols = C .shape
52235194 if allmatch :
52245195 X , Y = np .meshgrid (np .arange (numCols ), np .arange (numRows ))
@@ -5238,11 +5209,6 @@ def _pcolorargs(funcname, *args, **kw):
52385209 if norm is None :
52395210 norm = mcolors .BivariateNorm ()
52405211 C = norm (C )
5241- C [0 ] = C [0 ] * (cmap .N - 1 )
5242- C [1 ] = C [1 ] * (cmap .N - 1 )
5243- C = C .astype (int )
5244- C = C [0 ] + cmap .N * C [1 ]
5245- C = np .array (C )
52465212 numRows , numCols = C .shape
52475213 else :
52485214 raise TypeError (
@@ -5794,19 +5760,11 @@ def pcolorfast(self, *args, **kwargs):
57945760 isBivari = (isinstance (norm , mcolors .BivariateNorm ) or
57955761 isinstance (cmap , mcolors .BivariateColormap ))
57965762 if (C .ndim == 3 and isBivari ):
5797- if cmap is None :
5798- cmap = mcolors .BivariateColormap ()
5799- if norm is None :
5800- norm = mcolors .BivariateNorm ()
58015763 C = norm (C )
5802- C [0 ] = C [0 ] * (cmap .N - 1 )
5803- C [1 ] = C [1 ] * (cmap .N - 1 )
5804- C = C .astype (int )
5805- C = C [0 ] + cmap .N * C [1 ]
5806- C = np .array (C )
5807- norm = mcolors .NoNorm ()
5808-
5809- nr , nc = C .shape
5764+ nr , nc = C .shape
5765+ C = cmap (C , alpha = alpha , bytes = True )
5766+ else :
5767+ nr , nc = C .shape
58105768 if len (args ) == 1 :
58115769 style = "image"
58125770 x = [0 , nc ]
0 commit comments