class_docstr: The QQ plot compares the quantiles of the empirical residuals to the theoretical quantiles of a standard normal distribution $N(0, 1)$.
  Assuming that $Y=f(X)+\epsilon$ we can verify with this plot that $\epsilon ~ N(\mu, \sigma^2)$.
  If the error terms actually originate from a normal distribution, then the data points will scatter just slightly
  around the red straight line.
class_docstr_tok: ["The","QQ","plot","compares","the","quantiles","of","the","empirical","residuals","to","the","theoretical","quantiles","of","a","standard","normal","distribution","$","N","(","0",",","1",")","$",".","Assuming","that","$","Y=f","(","X",")","+\\epsilon","$","we","can","verify","with","this","plot","that","$","\\epsilon","~","N","(","\\mu",",","\\sigma^2",")","$",".","If","the","error","terms","actually","originate","from","a","normal","distribution",",","then","the","data","points","will","scatter","just","slightly","around","the","red","straight","line","."]
docstr: Update the QQ plot values
  
  Parameters
  ----------
  predicted: nd.array
      The predicted values
  expected: np.ndarray
      Optional, the true values. If this attribute is None, the predicted array is assumed to contain the already
      standardized residuals.
  featuresize: int
      number of features
  split_origin: np.ndarray
      Optional, if the data used for the predictions includes unseen test data.
      These residuals can be marked explicitly in the plot. This attribute must have the same dimensionality
      as the predictions and expected array. Each entry in this array must be one of the strings ['train', 'test']
      to denote from which split this observation originates.
docstr_tok: ["Update","the","QQ","plot","values","Parameters","--","--","--","--","--","predicted",":","nd.array","The","predicted","values","expected",":","np.ndarray","Optional",",","the","true","values",".","If","this","attribute","is","None",",","the","predicted","array","is","assumed","to","contain","the","already","standardized","residuals",".","featuresize",":","int","number","of","features","split_origin",":","np.ndarray","Optional",",","if","the","data","used","for","the","predictions","includes","unseen","test","data",".","These","residuals","can","be","marked","explicitly","in","the","plot",".","This","attribute","must","have","the","same","dimensionality","as","the","predictions","and","expected","array",".","Each","entry","in","this","array","must","be","one","of","the","strings","[","'train","'",",","'test","'","]","to","denote","from","which","split","this","observation","originates","."]
code: def update_values(
      self,
      predicted: np.ndarray,
      expected: np.ndarray = None,
      featuresize: int = None,
      split_origin: np.ndarray = None,
  ):
      """
      Update the QQ plot values
  
      Parameters
      ----------
      predicted: nd.array
          The predicted values
      expected: np.ndarray
          Optional, the true values. If this attribute is None, the predicted array is assumed to contain the already
          standardized residuals.
      featuresize: int
          number of features
      split_origin: np.ndarray
          Optional, if the data used for the predictions includes unseen test data.
          These residuals can be marked explicitly in the plot. This attribute must have the same dimensionality
          as the predictions and expected array. Each entry in this array must be one of the strings ['train', 'test']
          to denote from which split this observation originates.
      """
      self._plot = self.__qq_plot(
          standardized_residuals=helper.calculate_standardized_residual(
              predicted, expected, featuresize
          ),
          split_origin=split_origin,
      )
      self.update({"data": self._plot.data}, overwrite=True)
      self.update_layout()
  
imports: from typing import List, Optional
  import numpy
  import pandas
  import plotly.express
  import plotly.graph_objects
  from ipywidgets import Layout, widgets
  from plotly.basewidget import BaseFigureWidget
  from scipy import stats
  import pycaret.internal.plots.helper
  from pycaret.internal.display import CommonDisplay
  from pycaret.internal.display.display_backend import ColabBackend, DatabricksBackend
  from pycaret.internal.logging import get_logger
  from pycaret.internal.validation import fit_if_not_fitted
label_desc: Use image node_id 4 for calling the QQPlotWidget obj's underlying member method code with example usage: obj.update_values(predicted, expected, featuresize, split_origin) without return types