@@ -6185,6 +6185,10 @@ def pcolorfast(self, *args, alpha=None, norm=None, cmap=None, vmin=None,
61856185 A 2D array or masked array. The values will be color-mapped.
61866186 This argument can only be passed positionally.
61876187
6188+ C can in some cases be 3D with the last dimension as rgb(a).
6189+ This is available when C qualifies for image or pcolorimage type,
6190+ will throw a TypeError if C is 3D and quadmesh.
6191+
61886192 X, Y : tuple or array-like, default: ``(0, N)``, ``(0, M)``
61896193 *X* and *Y* are used to specify the coordinates of the
61906194 quadrilaterals. There are different ways to do this:
@@ -6258,7 +6262,7 @@ def pcolorfast(self, *args, alpha=None, norm=None, cmap=None, vmin=None,
62586262 "'norm' must be an instance of 'mcolors.Normalize'" )
62596263
62606264 C = args [- 1 ]
6261- nr , nc = C .shape
6265+ nr , nc = np .shape ( C )[: 2 ]
62626266 if len (args ) == 1 :
62636267 style = "image"
62646268 x = [0 , nc ]
@@ -6279,6 +6283,10 @@ def pcolorfast(self, *args, alpha=None, norm=None, cmap=None, vmin=None,
62796283 else :
62806284 style = "pcolorimage"
62816285 elif x .ndim == 2 and y .ndim == 2 :
6286+ if C .ndim > 2 :
6287+ raise ValueError (
6288+ 'pcolorfast needs to use quadmesh, '
6289+ 'which is not supported when x and y are 2D and C 3D' )
62826290 style = "quadmesh"
62836291 else :
62846292 raise TypeError ("arguments do not match valid signatures" )
0 commit comments