docstr: :param estimate: Causal estimate
  :param fig_size: Size of the figure
  :param font_size: Size of the font of the plot title
  :param var_name: The confounding variable for which distribution changes should be compared
  :param var_type: Type of the confounding variable; must be one of 'continuous' or 'discrete'
docstr_tok: [":","param","estimate",":","Causal","estimate",":","param","fig_size",":","Size","of","the","figure",":","param","font_size",":","Size","of","the","font","of","the","plot","title",":","param","var_name",":","The","confounding","variable","for","which","distribution","changes","should","be","compared",":","param","var_type",":","Type","of","the","confounding","variable",";","must","be","one","of","'continuous","'","or","'discrete","'"]
code: def __init__(
      self, estimate, fig_size, font_size, var_name, var_type, **kwargs
  ):
      """
      :param estimate: Causal estimate
      :param fig_size: Size of the figure
      :param font_size: Size of the font of the plot title
      :param var_name: The confounding variable for which distribution changes should be compared
      :param var_type: Type of the confounding variable; must be one of 'continuous' or 'discrete'
      """
  
      super().__init__(estimate, **kwargs)
      if not isinstance(estimate, CausalEstimate):
          error_msg = (
              "The interpreter method expects a CausalEstimate object."
          )
          self.logger.error(error_msg)
          raise ValueError(error_msg)
      self.estimator = self.estimate.estimator
      if not any(
          isinstance(self.estimator, est_class)
          for est_class in ConfounderDistributionInterpreter.SUPPORTED_ESTIMATORS
      ):
          error_msg = "The interpreter method only supports propensity score weighting estimator."
          self.logger.error(error_msg)
          raise ValueError(error_msg)
  
      if var_type not in {"continuous", "discrete"}:
          error_msg = (
              "var_type must be one of 'continuous' or 'discrete'."
          )
          self.logger.error(error_msg)
          raise ValueError(error_msg)
  
      if var_type == "continuous":
          error_msg = "Distributional changes plot for continuous variables is not yet implemented."
          self.logger.error(error_msg)
          raise ValueError(error_msg)
  
      self.fig_size = fig_size
      self.font_size = font_size
      self.var_name = var_name
  
file_path: dowhy/dowhy/interpreters/confounder_distribution_interpreter.py
imports: import numpy
  import pandas
  from dowhy.causal_estimator import CausalEstimate
  from dowhy.causal_estimators.propensity_score_weighting_estimator import PropensityScoreWeightingEstimator
  from dowhy.interpreters.visual_interpreter import VisualInterpreter
label_desc: Use image node_id 1 to create a new ConfounderDistributionInterpreter object from inherited base classes: VisualInterpreter with example: obj = ConfounderDistributionInterpreter(estimate, fig_size, font_size, var_name, var_type)