@@ -6172,6 +6172,10 @@ def pcolorfast(self, *args, alpha=None, norm=None, cmap=None, vmin=None,
61726172 A 2D array or masked array. The values will be color-mapped.
61736173 This argument can only be passed positionally.
61746174
6175+ C can in some cases be 3D with the last dimension as rgb(a).
6176+ This is available when C qualifies for image or pcolorimage type,
6177+ will throw a TypeError if C is 3D and quadmesh.
6178+
61756179 X, Y : tuple or array-like, default: ``(0, N)``, ``(0, M)``
61766180 *X* and *Y* are used to specify the coordinates of the
61776181 quadrilaterals. There are different ways to do this:
@@ -6245,7 +6249,7 @@ def pcolorfast(self, *args, alpha=None, norm=None, cmap=None, vmin=None,
62456249 "'norm' must be an instance of 'mcolors.Normalize'" )
62466250
62476251 C = args [- 1 ]
6248- nr , nc = np .shape (C )
6252+ nr , nc = np .shape (C )[: 2 ]
62496253 if len (args ) == 1 :
62506254 style = "image"
62516255 x = [0 , nc ]
@@ -6266,6 +6270,10 @@ def pcolorfast(self, *args, alpha=None, norm=None, cmap=None, vmin=None,
62666270 else :
62676271 style = "pcolorimage"
62686272 elif x .ndim == 2 and y .ndim == 2 :
6273+ if C .ndim > 2 :
6274+ raise ValueError (
6275+ 'pcolorfast needs to use quadmesh, '
6276+ 'which is not supported when x and y are 2D and C 3D' )
62696277 style = "quadmesh"
62706278 else :
62716279 raise TypeError ("arguments do not match valid signatures" )
0 commit comments