class_docstr: Base class for objects underlying *plot functions.
class_docstr_tok: ["Base","class","for","objects","underlying","*","plot","functions","."]
docstr: Property interface to ordered list of variables levels.
  
  Each time it's accessed, it updates the var_levels dictionary with the
  list of levels in the current semantic mappers. But it also allows the
  dictionary to persist, so it can be used to set levels by a key. This is
  used to track the list of col/row levels using an attached FacetGrid
  object, but it's kind of messy and ideally fixed by improving the
  faceting logic so it interfaces better with the modern approach to
  tracking plot variables.
docstr_tok: ["Property","interface","to","ordered","list","of","variables","levels",".","Each","time","it","'s","accessed",",","it","updates","the","var_levels","dictionary","with","the","list","of","levels","in","the","current","semantic","mappers",".","But","it","also","allows","the","dictionary","to","persist",",","so","it","can","be","used","to","set","levels","by","a","key",".","This","is","used","to","track","the","list","of","col\/row","levels","using","an","attached","FacetGrid","object",",","but","it","'s","kind","of","messy","and","ideally","fixed","by","improving","the","faceting","logic","so","it","interfaces","better","with","the","modern","approach","to","tracking","plot","variables","."]
code: def var_levels(self):
      """Property interface to ordered list of variables levels.
  
      Each time it's accessed, it updates the var_levels dictionary with the
      list of levels in the current semantic mappers. But it also allows the
      dictionary to persist, so it can be used to set levels by a key. This is
      used to track the list of col/row levels using an attached FacetGrid
      object, but it's kind of messy and ideally fixed by improving the
      faceting logic so it interfaces better with the modern approach to
      tracking plot variables.
  
      """
      for var in self.variables:
          if (
              map_obj := getattr(self, f"_{var}_map", None)
          ) is not None:
              self._var_levels[var] = map_obj.levels
      return self._var_levels
  
imports: from __future__ import annotations
  import warnings
  import itertools
  from copy import copy
  from collections import UserString
  from collections.abc import Iterable, Sequence, Mapping
  from numbers import Number
  from datetime import datetime
  import numpy
  import pandas
  import matplotlib
  from seaborn._core.data import PlotData
  from seaborn.palettes import QUAL_PALETTES, color_palette
  from seaborn.utils import _check_argument, _version_predates, desaturate, locator_to_legend_entries, get_color_cycle, remove_na
label_desc: Use image node_id 3 for calling the VectorPlotter obj's underlying member method code with example usage: obj.var_levels() and returns: self