code: def i_sub_on_key(self, from_key, to_key):
      left_value = self._data[from_key]
      right_value = self._data[to_key]
      if isinstance(left_value, HistogramEncryptedValues):
          if isinstance(right_value, HistogramEncryptedValues):
              assert left_value.stride == right_value.stride
              left_value.data = left_value.evaluator.sub(
                  left_value.pk, left_value.data, right_value.data
              )
          elif isinstance(right_value, HistogramPlainValues):
              assert left_value.stride == right_value.stride
              if left_value.coder is None:
                  raise ValueError(
                      f"coder is None, please set coder for i_sub_on_key({from_key}, {to_key})"
                  )
              left_value.data = left_value.evaluator.sub_plain(
                  left_value.data,
                  right_value.data,
                  left_value.pk,
                  left_value.coder,
              )
          else:
              raise NotImplementedError
      elif isinstance(left_value, HistogramPlainValues):
          if isinstance(right_value, HistogramEncryptedValues):
              assert left_value.stride == right_value.stride
              if right_value.coder is None:
                  raise ValueError(
                      f"coder is None, please set coder for i_sub_on_key({from_key}, {to_key})"
                  )
              data = right_value.evaluator.rsub_plain(
                  right_value.data,
                  left_value.data,
                  right_value.pk,
                  right_value.coder,
              )
              self._data[from_key] = HistogramEncryptedValues(
                  right_value.pk,
                  right_value.evaluator,
                  data,
                  right_value.coder,
                  right_value.dtype,
                  right_value.size,
                  right_value.stride,
              )
          elif isinstance(right_value, HistogramPlainValues):
              assert left_value.stride == right_value.stride
              left_value.data = left_value.data - right_value.data
          else:
              raise NotImplementedError
      else:
          raise NotImplementedError
  
imports: import typing
  from typing import MutableMapping
  from ._value import HistogramValues
  from ._plain import HistogramPlainValues
  from ._cipher import HistogramEncryptedValues
label_desc: Use image node_id 7 for calling the HistogramValuesContainer obj's underlying member method code with example usage: obj.i_sub_on_key(from_key, to_key) without return types