class_docstr: Plotter for numeric independent variables with regression model.
  
  This does the computations and drawing for the `regplot` function, and
  is thus also used indirectly by `lmplot`.
class_docstr_tok: ["Plotter","for","numeric","independent","variables","with","regression","model",".","This","does","the","computations","and","drawing","for","the","`","regplot","`","function",",","and","is","thus","also","used","indirectly","by","`","lmplot","`","."]
code: def __init__(
      self,
      x,
      y,
      data=None,
      x_estimator=None,
      x_bins=None,
      x_ci="ci",
      scatter=True,
      fit_reg=True,
      ci=95,
      n_boot=1000,
      units=None,
      seed=None,
      order=1,
      logistic=False,
      lowess=False,
      robust=False,
      logx=False,
      x_partial=None,
      y_partial=None,
      truncate=False,
      dropna=True,
      x_jitter=None,
      y_jitter=None,
      color=None,
      label=None,
  ):
      # Set member attributes
      self.x_estimator = x_estimator
      self.ci = ci
      self.x_ci = ci if x_ci == "ci" else x_ci
      self.n_boot = n_boot
      self.seed = seed
      self.scatter = scatter
      self.fit_reg = fit_reg
      self.order = order
      self.logistic = logistic
      self.lowess = lowess
      self.robust = robust
      self.logx = logx
      self.truncate = truncate
      self.x_jitter = x_jitter
      self.y_jitter = y_jitter
      self.color = color
      self.label = label
  
      # Validate the regression options:
      if sum((order > 1, logistic, robust, lowess, logx)) > 1:
          raise ValueError("Mutually exclusive regression options.")
  
      # Extract the data vals from the arguments or passed dataframe
      self.establish_variables(
          data,
          x=x,
          y=y,
          units=units,
          x_partial=x_partial,
          y_partial=y_partial,
      )
  
      # Drop null observations
      if dropna:
          self.dropna("x", "y", "units", "x_partial", "y_partial")
  
      # Regress nuisance variables out of the data
      if self.x_partial is not None:
          self.x = self.regress_out(self.x, self.x_partial)
      if self.y_partial is not None:
          self.y = self.regress_out(self.y, self.y_partial)
  
      # Possibly bin the predictor variable, which implies a point estimate
      if x_bins is not None:
          self.x_estimator = (
              np.mean if x_estimator is None else x_estimator
          )
          x_discrete, x_bins = self.bin_predictor(x_bins)
          self.x_discrete = x_discrete
      else:
          self.x_discrete = self.x
  
      # Disable regression in case of singleton inputs
      if len(self.x) <= 1:
          self.fit_reg = False
  
      # Save the range of the x variable for the grid later
      if self.fit_reg:
          self.x_range = self.x.min(), self.x.max()
  
imports: import copy
  from textwrap import dedent
  import warnings
  import numpy
  import pandas
  import matplotlib
  import matplotlib.pyplot
  from .None import utils
  from .None import algorithms
  from .axisgrid import FacetGrid, _facet_docs
label_desc: Use image node_id 1 to create a new _RegressionPlotter object from inherited base classes: _LinearPlotter with example: obj = _RegressionPlotter(x, y, data, x_estimator, x_bins, x_ci, scatter, fit_reg, ci, n_boot, units, seed, order, logistic, lowess, robust, logx, x_partial, y_partial, truncate, dropna, x_jitter, y_jitter, color, label)