code: def __init__(
      self,
      cls,
      estimate: Union[str, pd.DataFrame],
      loc,
      iloc,
      show_censors,
      censor_styles,
      logx,
      ax,
      **kwargs,
  ):
      from matplotlib import pyplot as plt
  
      self.censor_styles = coalesce(censor_styles, {})
  
      if ax is None:
          ax = plt.gca()
      kwargs["ax"] = ax
      set_kwargs_color(kwargs)
      set_kwargs_drawstyle(kwargs)
      set_kwargs_label(kwargs, cls)
  
      self.loc = loc
      self.iloc = iloc
      self.show_censors = show_censors
      # plot censors
      self.ax = ax
      self.colour = kwargs["color"]
      self.logx = logx
      self.kwargs = kwargs
  
      if isinstance(estimate, str):
          self.estimate_ = getattr(cls, estimate)
          self.confidence_interval_ = getattr(
              cls, "confidence_interval_" + estimate
          )
          self.predict_at_times = getattr(cls, estimate + "at_times")
      else:
          self.estimate_ = estimate
          self.confidence_interval_ = kwargs.pop("confidence_intervals")
  
imports: import warnings
  from typing import Union, Optional, Iterable
  from scipy import stats
  import pandas
  import numpy
  from lifelines.utils import coalesce, CensoringType, _group_event_table_by_intervals
label_desc: Use image node_id 1 to create a new PlotEstimateConfig object  with example: obj = PlotEstimateConfig(cls, estimate, loc, iloc, show_censors, censor_styles, logx, ax)