docstr: Maps new values to integer identifiers.
  
  Paramters
  ---------
  data: iterable
        sequence of string values
  
  Raises
  ------
  TypeError
        If the value in data is not a string, unicode, bytes type
docstr_tok: ["Maps","new","values","to","integer","identifiers",".","Paramters","--","--","--","--","-","data",":","iterable","sequence","of","string","values","Raises","--","--","--","TypeError","If","the","value","in","data","is","not","a","string",",","unicode",",","bytes","type"]
code: def update(self, data):
      """Maps new values to integer identifiers.
  
      Paramters
      ---------
      data: iterable
            sequence of string values
  
      Raises
      ------
      TypeError
            If the value in data is not a string, unicode, bytes type
      """
      data = np.atleast_1d(np.array(data, dtype=object))
  
      for val in OrderedDict.fromkeys(data):
          if not isinstance(val, VALID_TYPES):
              raise TypeError("{val!r} is not a string".format(val=val))
          if val not in self._mapping:
              self._mapping[val] = next(self._counter)
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  from collections import OrderedDict
  import itertools
  import six
  import numpy
  import matplotlib.units
  import matplotlib.ticker
  from distutils.version import LooseVersion
label_desc: Use image node_id 2 for calling the UnitData obj's underlying member method code with example usage: obj.update(data) without return types