class_docstr: Base class for glyphs.
class_docstr_tok: ["Base","class","for","glyphs","."]
docstr: The number of dimensions required in the data structure this Glyph is
  constructed from. Or None if input data structure is irregular
  
  For example
   * ndims is 1 if glyph is constructed from a DataFrame
   * ndims is 2 if glyph is constructed from a 2D xarray DataArray
   * ndims is None if glyph is constructed from multiple DataFrames of
     different lengths
docstr_tok: ["The","number","of","dimensions","required","in","the","data","structure","this","Glyph","is","constructed","from",".","Or","None","if","input","data","structure","is","irregular","For","example","*","ndims","is","1","if","glyph","is","constructed","from","a","DataFrame","*","ndims","is","2","if","glyph","is","constructed","from","a","2D","xarray","DataArray","*","ndims","is","None","if","glyph","is","constructed","from","multiple","DataFrames","of","different","lengths"]
code: def ndims(self):
      """
      The number of dimensions required in the data structure this Glyph is
      constructed from. Or None if input data structure is irregular
  
      For example
       * ndims is 1 if glyph is constructed from a DataFrame
       * ndims is 2 if glyph is constructed from a 2D xarray DataArray
       * ndims is None if glyph is constructed from multiple DataFrames of
         different lengths
      """
      raise NotImplementedError()
  
imports: from __future__ import annotations
  from packaging.version import Version
  import inspect
  import warnings
  import os
  from math import isnan
  import numpy
  import pandas
  import xarray
  from datashader.utils import Expr, ngjit
  from datashader.macros import expand_varargs
label_desc: Use image node_id 1 for calling the Glyph obj's underlying member method code with example usage: obj.ndims() without return types