class_docstr: Abstract interface for data aggregation functionality for plotly figures.
class_docstr_tok: ["Abstract","interface","for","data","aggregation","functionality","for","plotly","figures","."]
docstr: Overwrite the reduce method (which is used to support deep copying and
  pickling).
  
  Note
  ----
  We do not overwrite the `to_dict` method, as this is used to send the figure
  to the frontend (and thus should not capture the plotly-resampler properties).
docstr_tok: ["Overwrite","the","reduce","method","(","which","is","used","to","support","deep","copying","and","pickling",")",".","Note","--","--","We","do","not","overwrite","the","`","to_dict","`","method",",","as","this","is","used","to","send","the","figure","to","the","frontend","(","and","thus","should","not","capture","the","plotly-resampler","properties",")","."]
code: def __reduce__(self):
      """Overwrite the reduce method (which is used to support deep copying and
      pickling).
  
      Note
      ----
      We do not overwrite the `to_dict` method, as this is used to send the figure
      to the frontend (and thus should not capture the plotly-resampler properties).
      """
      _, props = super().__reduce__()
      assert len(props) == 1  # I don't know why this would be > 1
      props = props[0]
  
      # Add the plotly-resampler properties
      props["pr_props"] = {}
      for k in self._get_pr_props_keys():
          props["pr_props"][k] = getattr(self, k)
      return self.__class__, (props,)
  
imports: from __future__ import annotations
  import itertools
  import re
  from abc import ABC
  from collections import namedtuple
  from copy import copy
  from typing import Dict, Iterable, List, Optional, Tuple, Union
  from uuid import uuid4
  import dash
  import numpy
  import pandas
  import plotly.graph_objects
  from pandas.io.json._normalize import nested_to_record
  from plotly.basedatatypes import BaseFigure, BaseTraceType
  from ..aggregation import AbstractAggregator, MedDiffGapHandler, MinMaxLTTB
  from ..aggregation.aggregation_interface import DataPointSelector
  from ..aggregation.gap_handler_interface import AbstractGapHandler
  from ..aggregation.plotly_aggregator_parser import PlotlyAggregatorParser
  from .utils import round_number_str, round_td_str
label_desc: Use image node_id 26 for calling the AbstractFigureAggregator obj's underlying member method code with example usage: obj.__reduce__() and returns: self,  props