Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TGraphSmooth Class Reference

A helper class to smooth TGraph.

see examples in $ROOTSYS/tutorials/graphs/motorcycle.C and approx.C

Definition at line 34 of file TGraphSmooth.h.

Public Member Functions

 TGraphSmooth ()
 
 TGraphSmooth (const char *name)
 GraphSmooth constructor.
 
 ~TGraphSmooth () override
 GraphSmooth destructor.
 
TGraphApprox (TGraph *grin, Option_t *option="linear", Int_t nout=50, Double_t *xout=nullptr, Double_t yleft=0, Double_t yright=0, Int_t rule=0, Double_t f=0, Option_t *ties="mean")
 Approximate data points.
 
void Approxin (TGraph *grin, Int_t iKind, Double_t &Ylow, Double_t &Yhigh, Int_t rule, Int_t iTies)
 Sort data points and eliminate double x values.
 
TClassIsA () const override
 
void Lowess (Double_t *x, Double_t *y, Int_t n, Double_t *ys, Double_t span, Int_t iter, Double_t delta)
 Lowess regression smoother.
 
void Smoothin (TGraph *grin)
 Sort input data points.
 
TGraphSmoothKern (TGraph *grin, Option_t *option="normal", Double_t bandwidth=0.5, Int_t nout=100, Double_t *xout=nullptr)
 Smooth data with Kernel smoother.
 
TGraphSmoothLowess (TGraph *grin, Option_t *option="", Double_t span=0.67, Int_t iter=3, Double_t delta=0)
 Smooth data with Lowess smoother.
 
TGraphSmoothSuper (TGraph *grin, Option_t *option="", Double_t bass=0, Double_t span=0, Bool_t isPeriodic=kFALSE, Double_t *w=nullptr)
 Smooth data with Super smoother.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TNamed
 TNamed ()
 
 TNamed (const char *name, const char *title)
 
 TNamed (const TNamed &named)
 TNamed copy ctor.
 
 TNamed (const TString &name, const TString &title)
 
virtual ~TNamed ()
 TNamed destructor.
 
void Clear (Option_t *option="") override
 Set name and title to empty strings ("").
 
TObjectClone (const char *newname="") const override
 Make a clone of an object using the Streamer facility.
 
Int_t Compare (const TObject *obj) const override
 Compare two TNamed objects.
 
void Copy (TObject &named) const override
 Copy this to obj.
 
virtual void FillBuffer (char *&buffer)
 Encode TNamed into output buffer.
 
const char * GetName () const override
 Returns name of object.
 
const char * GetTitle () const override
 Returns title of object.
 
ULong_t Hash () const override
 Return hash value for this object.
 
TClassIsA () const override
 
Bool_t IsSortable () const override
 
void ls (Option_t *option="") const override
 List TNamed name and title.
 
TNamedoperator= (const TNamed &rhs)
 TNamed assignment operator.
 
void Print (Option_t *option="") const override
 Print TNamed name and title.
 
virtual void SetName (const char *name)
 Set the name of the TNamed.
 
virtual void SetNameTitle (const char *name, const char *title)
 Set all the TNamed parameters (name and title).
 
virtual void SetTitle (const char *title="")
 Set the title of the TNamed.
 
virtual Int_t Sizeof () const
 Return size of the TNamed part of the TObject.
 
void Streamer (TBuffer &) override
 Stream an object of class TObject.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
- Public Member Functions inherited from TObject
 TObject ()
 TObject constructor.
 
 TObject (const TObject &object)
 TObject copy ctor.
 
virtual ~TObject ()
 TObject destructor.
 
void AbstractMethod (const char *method) const
 Use this method to implement an "abstract" method that you don't want to leave purely abstract.
 
virtual void AppendPad (Option_t *option="")
 Append graphics object to current pad.
 
virtual void Browse (TBrowser *b)
 Browse object. May be overridden for another default action.
 
ULong_t CheckedHash ()
 Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object.
 
virtual const char * ClassName () const
 Returns name of class to which the object belongs.
 
virtual void Delete (Option_t *option="")
 Delete this object.
 
virtual Int_t DistancetoPrimitive (Int_t px, Int_t py)
 Computes distance from point (px,py) to the object.
 
virtual void Draw (Option_t *option="")
 Default Draw method for all objects.
 
virtual void DrawClass () const
 Draw class inheritance tree of the class to which this object belongs.
 
virtual TObjectDrawClone (Option_t *option="") const
 Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1).
 
virtual void Dump () const
 Dump contents of object on stdout.
 
virtual void Error (const char *method, const char *msgfmt,...) const
 Issue error message.
 
virtual void Execute (const char *method, const char *params, Int_t *error=nullptr)
 Execute method on this object with the given parameter string, e.g.
 
virtual void Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr)
 Execute method on this object with parameters stored in the TObjArray.
 
virtual void ExecuteEvent (Int_t event, Int_t px, Int_t py)
 Execute action corresponding to an event at (px,py).
 
virtual void Fatal (const char *method, const char *msgfmt,...) const
 Issue fatal error message.
 
virtual TObjectFindObject (const char *name) const
 Must be redefined in derived classes.
 
virtual TObjectFindObject (const TObject *obj) const
 Must be redefined in derived classes.
 
virtual Option_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
Bool_t IsDestructed () const
 IsDestructed.
 
virtual Bool_t IsEqual (const TObject *obj) const
 Default equal comparison (objects are equal if they have the same address in memory).
 
virtual Bool_t IsFolder () const
 Returns kTRUE in case object contains browsable objects (like containers or lists of other objects).
 
R__ALWAYS_INLINE Bool_t IsOnHeap () const
 
R__ALWAYS_INLINE Bool_t IsZombie () const
 
void MayNotUse (const char *method) const
 Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary).
 
virtual Bool_t Notify ()
 This method must be overridden to handle object notification (the base implementation is no-op).
 
void Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const
 Use this method to declare a method obsolete.
 
void operator delete (void *ptr)
 Operator delete.
 
void operator delete[] (void *ptr)
 Operator delete [].
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *vp)
 
void * operator new[] (size_t sz)
 
void * operator new[] (size_t sz, void *vp)
 
TObjectoperator= (const TObject &rhs)
 TObject assignment operator.
 
virtual void Paint (Option_t *option="")
 This method must be overridden if a class wants to paint itself.
 
virtual void Pop ()
 Pop on object drawn in a pad to the top of the display list.
 
virtual Int_t Read (const char *name)
 Read contents of object with specified name from the current directory.
 
virtual void RecursiveRemove (TObject *obj)
 Recursively remove this object from a list.
 
void ResetBit (UInt_t f)
 
virtual void SaveAs (const char *filename="", Option_t *option="") const
 Save this object in the file specified by filename.
 
virtual void SavePrimitive (std::ostream &out, Option_t *option="")
 Save a primitive as a C++ statement(s) on output stream "out".
 
void SetBit (UInt_t f)
 
void SetBit (UInt_t f, Bool_t set)
 Set or unset the user status bits as specified in f.
 
virtual void SetDrawOption (Option_t *option="")
 Set drawing option for object.
 
virtual void SetUniqueID (UInt_t uid)
 Set the unique object id.
 
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
 
virtual void SysError (const char *method, const char *msgfmt,...) const
 Issue system error message.
 
R__ALWAYS_INLINE Bool_t TestBit (UInt_t f) const
 
Int_t TestBits (UInt_t f) const
 
virtual void UseCurrentStyle ()
 Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
 
virtual void Warning (const char *method, const char *msgfmt,...) const
 Issue warning message.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
 Write this object to the current directory.
 
virtual Int_t Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const
 Write this object to the current directory.
 

Static Public Member Functions

static Double_t Approx1 (Double_t v, Double_t f, Double_t *x, Double_t *y, Int_t n, Int_t iKind, Double_t Ylow, Double_t Yhigh)
 Approximate one data point.
 
static void BDRksmooth (Double_t *x, Double_t *y, Int_t n, Double_t *xp, Double_t *yp, Int_t np, Int_t kernel, Double_t bw)
 Smooth data with specified kernel.
 
static void BDRsmooth (Int_t n, Double_t *x, Double_t *y, Double_t *w, Double_t span, Int_t iper, Double_t vsmlsq, Double_t *smo, Double_t *acvr)
 Function for super smoother Based on R function supsmu: Translated to C++ by C.
 
static void BDRsupsmu (Int_t n, Double_t *x, Double_t *y, Double_t *w, Int_t iper, Double_t span, Double_t alpha, Double_t *smo, Double_t *sc)
 Friedmanns super smoother (Friedman, 1984).
 
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static void Lowest (Double_t *x, Double_t *y, Int_t n, Double_t &xs, Double_t &ys, Int_t nleft, Int_t nright, Double_t *w, Bool_t userw, Double_t *rw, Bool_t &ok)
 Fit value at x[i] Based on R function lowest: Translated to C++ by C.
 
static void Psort (Double_t *x, Int_t n, Int_t k)
 Static function based on R function rPsort: adapted to C++ by Christian Stratowa (R source file: R_sort.c by R Development Core Team (C) 1999-2001)
 
static void Rank (Int_t n, Double_t *a, Int_t *index, Int_t *rank, Bool_t down=kTRUE)
 static function
 
static Int_t Rcmp (Double_t x, Double_t y)
 Static function if (ISNAN(x)) return 1; if (ISNAN(y)) return -1;.
 
- Static Public Member Functions inherited from TNamed
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
- Static Public Member Functions inherited from TObject
static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 
static Longptr_t GetDtorOnly ()
 Return destructor only flag.
 
static Bool_t GetObjectStat ()
 Get status of object stat flag.
 
static void SetDtorOnly (void *obj)
 Set destructor only flag.
 
static void SetObjectStat (Bool_t stat)
 Turn on/off tracking of objects in the TObjectTable.
 

Protected Attributes

TGraphfGin
 Input graph.
 
TGraphfGout
 Output graph.
 
Double_t fMaxX
 Maximum value of array X.
 
Double_t fMinX
 Minimum value of array X.
 
Int_t fNin
 Number of input points.
 
Int_t fNout
 Number of output points.
 
- Protected Attributes inherited from TNamed
TString fName
 
TString fTitle
 

Private Member Functions

 TGraphSmooth (const TGraphSmooth &)
 
TGraphSmoothoperator= (const TGraphSmooth &)
 

Additional Inherited Members

- Public Types inherited from TObject
enum  {
  kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 ,
  kBitMask = 0x00ffffff
}
 
enum  { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) }
 
enum  EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) }
 
enum  EStatusBits {
  kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) ,
  kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 ))
}
 
- Protected Types inherited from TObject
enum  { kOnlyPrepStep = (1ULL << ( 3 )) }
 
- Protected Member Functions inherited from TObject
virtual void DoError (int level, const char *location, const char *fmt, va_list va) const
 Interface to ErrorHandler (protected).
 
void MakeZombie ()
 

#include <TGraphSmooth.h>

Inheritance diagram for TGraphSmooth:
[legend]

Constructor & Destructor Documentation

◆ TGraphSmooth() [1/3]

TGraphSmooth::TGraphSmooth ( const TGraphSmooth )
private

◆ TGraphSmooth() [2/3]

TGraphSmooth::TGraphSmooth ( )

Definition at line 36 of file TGraphSmooth.cxx.

◆ TGraphSmooth() [3/3]

TGraphSmooth::TGraphSmooth ( const char *  name)

GraphSmooth constructor.

Definition at line 49 of file TGraphSmooth.cxx.

◆ ~TGraphSmooth()

TGraphSmooth::~TGraphSmooth ( )
override

GraphSmooth destructor.

Definition at line 62 of file TGraphSmooth.cxx.

Member Function Documentation

◆ Approx()

TGraph * TGraphSmooth::Approx ( TGraph grin,
Option_t option = "linear",
Int_t  nout = 50,
Double_t xout = nullptr,
Double_t  yleft = 0,
Double_t  yright = 0,
Int_t  rule = 0,
Double_t  f = 0,
Option_t ties = "mean" 
)

Approximate data points.

Parameters
[in]gringraph giving the coordinates of the points to be interpolated. Alternatively a single plotting structure can be specified:
[in]optionspecifies the interpolation method to be used. Choices are "linear" (iKind = 1) or "constant" (iKind = 2).
[in]noutIf xout is not specified, interpolation takes place at n equally spaced points spanning the interval [min(x), max(x)], where nout = max(nout, number of input data).
[in]xoutan optional set of values specifying where interpolation is to take place.
[in]yleftthe value to be returned when input x values less than min(x). The default is defined by the value of rule given below.
[in]yrightthe value to be returned when input x values greater than max(x). The default is defined by the value of rule given below.
[in]rulean integer describing how interpolation is to take place outside the interval [min(x), max(x)]. If rule is 0 then the given yleft and yright values are returned, if it is 1 then 0 is returned for such points and if it is 2, the value at the closest data extreme is used.
[in]fFor method="constant" a number between 0 and 1 inclusive, indicating a compromise between left- and right-continuous step functions. If y0 and y1 are the values to the left and right of the point then the value is y0*f+y1*(1-f) so that f=0 is right-continuous and f=1 is left-continuous
[in]tiesHandling of tied x values. An integer describing a function with a single vector argument returning a single number result:
  • ties = "ordered" (iTies = 0): input x are "ordered"
  • ties = "mean" (iTies = 1): function "mean"
  • ties = "min" (iTies = 2): function "min"
  • ties = "max" (iTies = 3): function "max"

Details:

At least two complete (x, y) pairs are required. If there are duplicated (tied) x values and ties is a function it is applied to the y values for each distinct x value. Useful functions in this context include mean, min, and max. If ties="ordered" the x values are assumed to be already ordered. The first y value will be used for interpolation to the left and the last one for interpolation to the right.

Value:

approx returns a graph with components x and y, containing n coordinates which interpolate the given data points according to the method (and rule) desired.

Definition at line 997 of file TGraphSmooth.cxx.

◆ Approx1()

Double_t TGraphSmooth::Approx1 ( Double_t  v,
Double_t  f,
Double_t x,
Double_t y,
Int_t  n,
Int_t  iKind,
Double_t  ylow,
Double_t  yhigh 
)
static

Approximate one data point.

Approximate y(v), given (x,y)[i], i = 0,..,n-1 Based on R function approx1: Translated to C++ by Christian Stratowa (R source file: approx.c by R Development Core Team (C) 1999-2001)

Definition at line 1059 of file TGraphSmooth.cxx.

◆ Approxin()

void TGraphSmooth::Approxin ( TGraph grin,
Int_t  iKind,
Double_t Ylow,
Double_t Yhigh,
Int_t  rule,
Int_t  iTies 
)

Sort data points and eliminate double x values.

Definition at line 858 of file TGraphSmooth.cxx.

◆ BDRksmooth()

void TGraphSmooth::BDRksmooth ( Double_t x,
Double_t y,
Int_t  n,
Double_t xp,
Double_t yp,
Int_t  np,
Int_t  kernel,
Double_t  bw 
)
static

Smooth data with specified kernel.

Based on R function ksmooth: Translated to C++ by C. Stratowa (R source file: ksmooth.c by B.D.Ripley Copyright (C) 1998)

Definition at line 152 of file TGraphSmooth.cxx.

◆ BDRsmooth()

void TGraphSmooth::BDRsmooth ( Int_t  n,
Double_t x,
Double_t y,
Double_t w,
Double_t  span,
Int_t  iper,
Double_t  vsmlsq,
Double_t smo,
Double_t acvr 
)
static

Function for super smoother Based on R function supsmu: Translated to C++ by C.

Stratowa (R source file: ppr.f by B.D.Ripley Copyright (C) 1994-97)

Definition at line 693 of file TGraphSmooth.cxx.

◆ BDRsupsmu()

void TGraphSmooth::BDRsupsmu ( Int_t  n,
Double_t x,
Double_t y,
Double_t w,
Int_t  iper,
Double_t  span,
Double_t  alpha,
Double_t smo,
Double_t sc 
)
static

Friedmanns super smoother (Friedman, 1984).

version 10/10/84 coded and copyright (c) 1984 by:

                   Jerome H. Friedman
                department of statistics
                          and
           stanford linear accelerator center
                   stanford university

all rights reserved.

Parameters
[in]nnumber of observations (x,y - pairs).
[in]xordered abscissa values.
[in]ycorresponding ordinate (response) values.
[in]wweight for each (x,y) observation.
[in]iperperiodic variable flag.
  • iper=1 => x is ordered interval variable.
  • iper=2 => x is a periodic variable with values in the range (0.0,1.0) and period 1.0.
[in]spansmoother span (fraction of observations in window).
  • span=0.0 => automatic (variable) span selection.
[in]alphacontrols high frequency (small span) penality used with automatic span selection (bass tone control). (alpha.le.0.0 or alpha.gt.10.0 => no effect.)
[out]smosmoothed ordinate (response) values.
scinternal working storage.

note:

for small samples (n < 40) or if there are substantial serial correlations between observations close in x - value, then a prespecified fixed span smoother (span > 0) should be used. reasonable span values are 0.2 to 0.4.

current implementation:

Based on R function supsmu: Translated to C++ by C. Stratowa (R source file: ppr.f by B.D.Ripley Copyright (C) 1994-97)

Definition at line 572 of file TGraphSmooth.cxx.

◆ Class()

static TClass * TGraphSmooth::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TGraphSmooth::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t TGraphSmooth::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 76 of file TGraphSmooth.h.

◆ DeclFileName()

static const char * TGraphSmooth::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 76 of file TGraphSmooth.h.

◆ IsA()

TClass * TGraphSmooth::IsA ( ) const
inlineoverridevirtual
Returns
TClass describing current object

Reimplemented from TObject.

Definition at line 76 of file TGraphSmooth.h.

◆ Lowess()

void TGraphSmooth::Lowess ( Double_t x,
Double_t y,
Int_t  n,
Double_t ys,
Double_t  span,
Int_t  iter,
Double_t  delta 
)

Lowess regression smoother.

Based on R function clowess: Translated to C++ by C. Stratowa (R source file: lowess.c by R Development Core Team (C) 1999-2001)

Definition at line 247 of file TGraphSmooth.cxx.

◆ Lowest()

void TGraphSmooth::Lowest ( Double_t x,
Double_t y,
Int_t  n,
Double_t xs,
Double_t ys,
Int_t  nleft,
Int_t  nright,
Double_t w,
Bool_t  userw,
Double_t rw,
Bool_t ok 
)
static

Fit value at x[i] Based on R function lowest: Translated to C++ by C.

Stratowa (R source file: lowess.c by R Development Core Team (C) 1999-2001)

Definition at line 370 of file TGraphSmooth.cxx.

◆ operator=()

TGraphSmooth & TGraphSmooth::operator= ( const TGraphSmooth )
private

◆ Psort()

void TGraphSmooth::Psort ( Double_t x,
Int_t  n,
Int_t  k 
)
static

Static function based on R function rPsort: adapted to C++ by Christian Stratowa (R source file: R_sort.c by R Development Core Team (C) 1999-2001)

Definition at line 1105 of file TGraphSmooth.cxx.

◆ Rank()

void TGraphSmooth::Rank ( Int_t  n,
Double_t a,
Int_t index,
Int_t rank,
Bool_t  down = kTRUE 
)
static

static function

Definition at line 1125 of file TGraphSmooth.cxx.

◆ Rcmp()

Int_t TGraphSmooth::Rcmp ( Double_t  x,
Double_t  y 
)
static

Static function if (ISNAN(x)) return 1; if (ISNAN(y)) return -1;.

Definition at line 1093 of file TGraphSmooth.cxx.

◆ Smoothin()

void TGraphSmooth::Smoothin ( TGraph grin)

Sort input data points.

Definition at line 72 of file TGraphSmooth.cxx.

◆ SmoothKern()

TGraph * TGraphSmooth::SmoothKern ( TGraph grin,
Option_t option = "normal",
Double_t  bandwidth = 0.5,
Int_t  nout = 100,
Double_t xout = nullptr 
)

Smooth data with Kernel smoother.

Smooth grin with the Nadaraya-Watson kernel regression estimate.

Parameters
[in]grininput graph
[in]optionthe kernel to be used: "box", "normal"
[in]bandwidththe bandwidth. The kernels are scaled so that their quartiles (viewed as probability densities) are at +/- 0.25*bandwidth.
[in]noutIf xout is not specified, interpolation takes place at equally spaced points spanning the interval [min(x), max(x)], where nout = max(nout, number of input data).
[in]xoutan optional set of values at which to evaluate the fit

Definition at line 112 of file TGraphSmooth.cxx.

◆ SmoothLowess()

TGraph * TGraphSmooth::SmoothLowess ( TGraph grin,
Option_t option = "",
Double_t  span = 0.67,
Int_t  iter = 3,
Double_t  delta = 0 
)

Smooth data with Lowess smoother.

This function performs the computations for the LOWESS smoother (see the reference below). Lowess returns the output points x and y which give the coordinates of the smooth.

Parameters
[in]grinInput graph
[in]optionspecific options
[in]spanthe smoother span. This gives the proportion of points in the plot which influence the smooth at each value. Larger values give more smoothness.
[in]iterthe number of robustifying iterations which should be performed. Using smaller values of iter will make lowess run faster.
[in]deltavalues of x which lie within delta of each other replaced by a single value in the output from lowess. For delta = 0, delta will be calculated.

References:

  • Cleveland, W. S. (1979) Robust locally weighted regression and smoothing scatterplots. J. Amer. Statist. Assoc. 74, 829-836.
  • Cleveland, W. S. (1981) LOWESS: A program for smoothing scatterplots by robust locally weighted regression. The American Statistician, 35, 54.

Definition at line 219 of file TGraphSmooth.cxx.

◆ SmoothSuper()

TGraph * TGraphSmooth::SmoothSuper ( TGraph grin,
Option_t option = "",
Double_t  bass = 0,
Double_t  span = 0,
Bool_t  isPeriodic = kFALSE,
Double_t w = nullptr 
)

Smooth data with Super smoother.

Smooth the (x, y) values by Friedman's `‘super smoother’'.

Parameters
[in]gringraph for smoothing
[in]optionspecific options
[in]spanthe fraction of the observations in the span of the running lines smoother, or 0 to choose this by leave-one-out cross-validation.
[in]basscontrols the smoothness of the fitted curve. Values of up to 10 indicate increasing smoothness.
[in]isPeriodicif TRUE, the x values are assumed to be in [0, 1] and of period 1.
[in]wcase weights

Details:

supsmu is a running lines smoother which chooses between three spans for the lines. The running lines smoothers are symmetric, with k/2 data points each side of the predicted point, and values of k as 0.5 * n, 0.2 * n and 0.05 * n, where n is the number of data points. If span is specified, a single smoother with span span * n is used.

The best of the three smoothers is chosen by cross-validation for each prediction. The best spans are then smoothed by a running lines smoother and the final prediction chosen by linear interpolation.

The FORTRAN code says: `‘For small samples (n < 40) or if there are substantial serial correlations between observations close in x - value, then a prespecified fixed span smoother (span > 0) should be used. Reasonable span values are 0.2 to 0.4.’'

References:

  • Friedman, J. H. (1984) SMART User's Guide. Laboratory for Computational Statistics, Stanford University Technical Report No. 1.
  • Friedman, J. H. (1984) A variable span scatterplot smoother. Laboratory for Computational Statistics, Stanford University Technical Report No. 5.

Definition at line 479 of file TGraphSmooth.cxx.

◆ Streamer()

void TGraphSmooth::Streamer ( TBuffer R__b)
overridevirtual

Stream an object of class TObject.

Reimplemented from TObject.

◆ StreamerNVirtual()

void TGraphSmooth::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 76 of file TGraphSmooth.h.

Member Data Documentation

◆ fGin

TGraph* TGraphSmooth::fGin
protected

Input graph.

Definition at line 43 of file TGraphSmooth.h.

◆ fGout

TGraph* TGraphSmooth::fGout
protected

Output graph.

Definition at line 44 of file TGraphSmooth.h.

◆ fMaxX

Double_t TGraphSmooth::fMaxX
protected

Maximum value of array X.

Definition at line 46 of file TGraphSmooth.h.

◆ fMinX

Double_t TGraphSmooth::fMinX
protected

Minimum value of array X.

Definition at line 45 of file TGraphSmooth.h.

◆ fNin

Int_t TGraphSmooth::fNin
protected

Number of input points.

Definition at line 41 of file TGraphSmooth.h.

◆ fNout

Int_t TGraphSmooth::fNout
protected

Number of output points.

Definition at line 42 of file TGraphSmooth.h.

Libraries for TGraphSmooth:

The documentation for this class was generated from the following files: