A TGraph is an object made of two arrays X and Y with npoints each.
The TGraph painting is performed thanks to the TGraphPainter class. All details about the various painting options are given in this class.
SetTitle
and SetName
should be called on the TGraph after its creation. TGraph was a light weight object to start with, like TPolyline or TPolyMarker. That’s why it did not have any title and name parameters in the constructors.The picture below gives an example:
Public Types | |
enum | EStatusBits { kClipFrame = BIT(10) , kResetHisto = BIT(17) , kNotEditable = BIT(18) , kIsSortedX = BIT(19) , kIsHighlight = BIT(20) } |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) } |
enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } |
enum | EStatusBits { kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) , kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13) } |
Public Member Functions | |
TGraph () | |
Graph default constructor. | |
TGraph (const char *filename, const char *format="%lg %lg", Option_t *option="") | |
Graph constructor reading input from filename. | |
TGraph (const TF1 *f, Option_t *option="") | |
Graph constructor importing its parameters from the TF1 object passed as argument. | |
TGraph (const TGraph &gr) | |
Copy constructor for this graph. | |
TGraph (const TH1 *h) | |
Graph constructor importing its parameters from the TH1 object passed as argument. | |
TGraph (const TVectorD &vx, const TVectorD &vy) | |
Graph constructor with two vectors of doubles in input A graph is build with the X coordinates taken from vx and Y coord from vy The number of points in the graph is the minimum of number of points in vx and vy. | |
TGraph (const TVectorF &vx, const TVectorF &vy) | |
Graph constructor with two vectors of floats in input A graph is build with the X coordinates taken from vx and Y coord from vy The number of points in the graph is the minimum of number of points in vx and vy. | |
TGraph (Int_t n) | |
Constructor with only the number of points set the arrays x and y will be set later. | |
TGraph (Int_t n, const Double_t *x, const Double_t *y) | |
Graph normal constructor with doubles. | |
TGraph (Int_t n, const Float_t *x, const Float_t *y) | |
Graph normal constructor with floats. | |
TGraph (Int_t n, const Int_t *x, const Int_t *y) | |
Graph normal constructor with ints. | |
virtual | ~TGraph () |
Graph default destructor. | |
virtual void | AddPoint (Double_t x, Double_t y) |
Append a new point to the graph. | |
virtual void | Apply (TF1 *f) |
Apply function f to all the data points f may be a 1-D function TF1 or 2-d function TF2 The Y values of the graph are replaced by the new values computed using the function. | |
virtual void | Browse (TBrowser *b) |
Browse. | |
virtual Double_t | Chisquare (TF1 *f1, Option_t *option="") const |
Return the chisquare of this graph with respect to f1. | |
virtual void | ComputeRange (Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const |
Compute the x/y range of the points in this graph. | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Compute distance from point px,py to a graph. | |
virtual void | Draw (Option_t *chopt="") |
Draw this graph with its current attributes. | |
virtual void | DrawGraph (Int_t n, const Double_t *x=nullptr, const Double_t *y=nullptr, Option_t *option="") |
Draw this graph with new attributes. | |
virtual void | DrawGraph (Int_t n, const Float_t *x, const Float_t *y, Option_t *option="") |
Draw this graph with new attributes. | |
virtual void | DrawGraph (Int_t n, const Int_t *x, const Int_t *y, Option_t *option="") |
Draw this graph with new attributes. | |
virtual void | DrawPanel () |
Display a panel with all graph drawing options. | |
virtual Double_t | Eval (Double_t x, TSpline *spline=nullptr, Option_t *option="") const |
Interpolate points in this graph at x using a TSpline. | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to one event. | |
virtual void | Expand (Int_t newsize) |
If array sizes <= newsize, expand storage to 2*newsize. | |
virtual void | Expand (Int_t newsize, Int_t step) |
If graph capacity is less than newsize points then make array sizes equal to least multiple of step to contain newsize points. | |
virtual TObject * | FindObject (const char *name) const |
Search object named name in the list of functions. | |
virtual TObject * | FindObject (const TObject *obj) const |
Search object obj in the list of functions. | |
virtual TFitResultPtr | Fit (const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0) |
Fit this graph with function with name fname. | |
virtual TFitResultPtr | Fit (TF1 *f1, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0) |
Fit this graph with function f1. | |
virtual void | FitPanel () |
Display a GUI panel with all graph fit options. | |
virtual Double_t | GetCorrelationFactor () const |
Return graph correlation factor. | |
virtual Double_t | GetCovariance () const |
Return covariance of vectors x,y. | |
Bool_t | GetEditable () const |
Return kTRUE if kNotEditable bit is not set, kFALSE otherwise. | |
virtual Double_t | GetErrorX (Int_t bin) const |
This function is called by GraphFitChisquare. | |
virtual Double_t | GetErrorXhigh (Int_t bin) const |
This function is called by GraphFitChisquare. | |
virtual Double_t | GetErrorXlow (Int_t bin) const |
This function is called by GraphFitChisquare. | |
virtual Double_t | GetErrorY (Int_t bin) const |
This function is called by GraphFitChisquare. | |
virtual Double_t | GetErrorYhigh (Int_t bin) const |
This function is called by GraphFitChisquare. | |
virtual Double_t | GetErrorYlow (Int_t bin) const |
This function is called by GraphFitChisquare. | |
virtual Double_t * | GetEX () const |
virtual Double_t * | GetEXhigh () const |
virtual Double_t * | GetEXhighd () const |
virtual Double_t * | GetEXlow () const |
virtual Double_t * | GetEXlowd () const |
virtual Double_t * | GetEY () const |
virtual Double_t * | GetEYhigh () const |
virtual Double_t * | GetEYhighd () const |
virtual Double_t * | GetEYlow () const |
virtual Double_t * | GetEYlowd () const |
TF1 * | GetFunction (const char *name) const |
Return pointer to function with name. | |
TH1F * | GetHistogram () const |
Returns a pointer to the histogram used to draw the axis Takes into account the two following cases. | |
TList * | GetListOfFunctions () const |
Double_t | GetMaximum () const |
Int_t | GetMaxSize () const |
virtual Double_t | GetMean (Int_t axis=1) const |
Return mean value of X (axis=1) or Y (axis=2) | |
Double_t | GetMinimum () const |
Int_t | GetN () const |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Implementation to get information on point of graph at cursor position Adapted from class TH1. | |
virtual Int_t | GetPoint (Int_t i, Double_t &x, Double_t &y) const |
Get x and y values for point number i. | |
virtual Double_t | GetPointX (Int_t i) const |
Get x value for point i. | |
virtual Double_t | GetPointY (Int_t i) const |
Get y value for point i. | |
virtual Double_t | GetRMS (Int_t axis=1) const |
Return RMS of X (axis=1) or Y (axis=2) | |
Double_t * | GetX () const |
TAxis * | GetXaxis () const |
Get x axis of the graph. | |
Double_t * | GetY () const |
TAxis * | GetYaxis () const |
Get y axis of the graph. | |
virtual void | InitExpo (Double_t xmin=0, Double_t xmax=0) |
Compute Initial values of parameters for an exponential. | |
virtual void | InitGaus (Double_t xmin=0, Double_t xmax=0) |
Compute Initial values of parameters for a gaussian. | |
virtual void | InitPolynom (Double_t xmin=0, Double_t xmax=0) |
Compute Initial values of parameters for a polynom. | |
virtual Int_t | InsertPoint () |
Insert a new point at the mouse position. | |
virtual void | InsertPointBefore (Int_t ipoint, Double_t x, Double_t y) |
Insert a new point with coordinates (x,y) before the point number ipoint . | |
virtual Double_t | Integral (Int_t first=0, Int_t last=-1) const |
Integrate the TGraph data within a given (index) range. | |
virtual Bool_t | IsEditable () const |
virtual Bool_t | IsHighlight () const |
virtual Int_t | IsInside (Double_t x, Double_t y) const |
Return 1 if the point (x,y) is inside the polygon defined by the graph vertices 0 otherwise. | |
virtual void | LeastSquareFit (Int_t m, Double_t *a, Double_t xmin=0, Double_t xmax=0) |
Least squares polynomial fitting without weights. | |
virtual void | LeastSquareLinearFit (Int_t n, Double_t &a0, Double_t &a1, Int_t &ifail, Double_t xmin=0, Double_t xmax=0) |
Least square linear fit without weights. | |
virtual Int_t | Merge (TCollection *list) |
Adds all graphs from the collection to this graph. | |
virtual void | MovePoints (Double_t dx, Double_t dy, Bool_t logx=kFALSE, Bool_t logy=kFALSE) |
Move all graph points on specified values dx,dy If log argument specified, calculation done in logarithmic scale like: new_value = exp( log(old_value) + delta );. | |
TGraph & | operator= (const TGraph &) |
Equal operator for this graph. | |
virtual void | Paint (Option_t *chopt="") |
Draw this graph with its current attributes. | |
void | PaintGraph (Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt) |
Draw the (x,y) as a graph. | |
void | PaintGrapHist (Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt) |
Draw the (x,y) as a histogram. | |
virtual void | PaintStats (TF1 *fit) |
Draw the stats. | |
virtual void | Print (Option_t *chopt="") const |
Print graph values. | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove object from the list of functions. | |
virtual Int_t | RemovePoint () |
Delete point close to the mouse position. | |
virtual Int_t | RemovePoint (Int_t ipoint) |
Delete point number ipoint. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save primitive as a C++ statement(s) on output stream out. | |
virtual void | Set (Int_t n) |
Set number of points in the graph Existing coordinates are preserved New coordinates above fNpoints are preset to 0. | |
virtual void | SetEditable (Bool_t editable=kTRUE) |
if editable=kFALSE, the graph cannot be modified with the mouse by default a TGraph is editable | |
virtual void | SetHighlight (Bool_t set=kTRUE) |
Set highlight (enable/disble) mode for the graph by default highlight mode is disable. | |
virtual void | SetHistogram (TH1F *h) |
virtual void | SetMaximum (Double_t maximum=-1111) |
Set the maximum of the graph. | |
virtual void | SetMinimum (Double_t minimum=-1111) |
Set the minimum of the graph. | |
virtual void | SetName (const char *name="") |
Set graph name. | |
virtual void | SetNameTitle (const char *name="", const char *title="") |
Set graph name and title. | |
virtual void | SetPoint (Int_t i, Double_t x, Double_t y) |
Set x and y values for point number i. | |
virtual void | SetPointX (Int_t i, Double_t x) |
Set x value for point i. | |
virtual void | SetPointY (Int_t i, Double_t y) |
Set y value for point i. | |
virtual void | SetTitle (const char *title="") |
Change (i.e. | |
virtual void | Sort (Bool_t(*greater)(const TGraph *, Int_t, Int_t)=&TGraph::CompareX, Bool_t ascending=kTRUE, Int_t low=0, Int_t high=-1111) |
Sorts the points of this TGraph using in-place quicksort (see e.g. | |
virtual void | UseCurrentStyle () |
Set current style settings in this graph This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. | |
void | Zero (Int_t &k, Double_t AZ, Double_t BZ, Double_t E2, Double_t &X, Double_t &Y, Int_t maxiterations) |
Find zero of a continuous function. | |
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. | |
virtual void | Clear (Option_t *option="") |
Set name and title to empty strings (""). | |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. | |
virtual Int_t | Compare (const TObject *obj) const |
Compare two TNamed objects. | |
virtual void | Copy (TObject &named) const |
Copy this to obj. | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. | |
virtual const char * | GetName () const |
Returns name of object. | |
virtual const char * | GetTitle () const |
Returns title of object. | |
virtual ULong_t | Hash () const |
Return hash value for this object. | |
virtual Bool_t | IsSortable () const |
virtual void | ls (Option_t *option="") const |
List TNamed name and title. | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. | |
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. | |
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 void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad) . | |
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=0) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
Execute method on this object with parameters stored in the TObjArray. | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual Option_t * | GetOption () 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) |
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. | |
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) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. | |
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. | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. | |
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. | |
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 | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. | |
Public Member Functions inherited from TAttLine | |
TAttLine () | |
AttLine default constructor. | |
TAttLine (Color_t lcolor, Style_t lstyle, Width_t lwidth) | |
AttLine normal constructor. | |
virtual | ~TAttLine () |
AttLine destructor. | |
void | Copy (TAttLine &attline) const |
Copy this line attributes to a new TAttLine. | |
Int_t | DistancetoLine (Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2) |
Compute distance from point px,py to a line. | |
virtual Color_t | GetLineColor () const |
Return the line color. | |
virtual Style_t | GetLineStyle () const |
Return the line style. | |
virtual Width_t | GetLineWidth () const |
Return the line width. | |
virtual void | Modify () |
Change current line attributes if necessary. | |
virtual void | ResetAttLine (Option_t *option="") |
Reset this line attributes to default values. | |
virtual void | SaveLineAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1) |
Save line attributes as C++ statement(s) on output stream out. | |
virtual void | SetLineAttributes () |
Invoke the DialogCanvas Line attributes. | |
virtual void | SetLineColor (Color_t lcolor) |
Set the line color. | |
virtual void | SetLineColorAlpha (Color_t lcolor, Float_t lalpha) |
Set a transparent line color. | |
virtual void | SetLineStyle (Style_t lstyle) |
Set the line style. | |
virtual void | SetLineWidth (Width_t lwidth) |
Set the line width. | |
Public Member Functions inherited from TAttFill | |
TAttFill () | |
AttFill default constructor. | |
TAttFill (Color_t fcolor, Style_t fstyle) | |
AttFill normal constructor. | |
virtual | ~TAttFill () |
AttFill destructor. | |
void | Copy (TAttFill &attfill) const |
Copy this fill attributes to a new TAttFill. | |
virtual Color_t | GetFillColor () const |
Return the fill area color. | |
virtual Style_t | GetFillStyle () const |
Return the fill area style. | |
virtual Bool_t | IsTransparent () const |
virtual void | Modify () |
Change current fill area attributes if necessary. | |
virtual void | ResetAttFill (Option_t *option="") |
Reset this fill attributes to default values. | |
virtual void | SaveFillAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001) |
Save fill attributes as C++ statement(s) on output stream out. | |
virtual void | SetFillAttributes () |
Invoke the DialogCanvas Fill attributes. | |
virtual void | SetFillColor (Color_t fcolor) |
Set the fill area color. | |
virtual void | SetFillColorAlpha (Color_t fcolor, Float_t falpha) |
Set a transparent fill color. | |
virtual void | SetFillStyle (Style_t fstyle) |
Set the fill area style. | |
Public Member Functions inherited from TAttMarker | |
TAttMarker () | |
TAttMarker default constructor. | |
TAttMarker (Color_t color, Style_t style, Size_t msize) | |
TAttMarker normal constructor. | |
virtual | ~TAttMarker () |
TAttMarker destructor. | |
void | Copy (TAttMarker &attmarker) const |
Copy this marker attributes to a new TAttMarker. | |
virtual Color_t | GetMarkerColor () const |
Return the marker color. | |
virtual Size_t | GetMarkerSize () const |
Return the marker size. | |
virtual Style_t | GetMarkerStyle () const |
Return the marker style. | |
virtual void | Modify () |
Change current marker attributes if necessary. | |
virtual void | ResetAttMarker (Option_t *toption="") |
Reset this marker attributes to the default values. | |
virtual void | SaveMarkerAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t sizdef=1) |
Save line attributes as C++ statement(s) on output stream out. | |
virtual void | SetMarkerAttributes () |
Invoke the DialogCanvas Marker attributes. | |
virtual void | SetMarkerColor (Color_t mcolor=1) |
Set the marker color. | |
virtual void | SetMarkerColorAlpha (Color_t mcolor, Float_t malpha) |
Set a transparent marker color. | |
virtual void | SetMarkerSize (Size_t msize=1) |
Set the marker size. | |
virtual void | SetMarkerStyle (Style_t mstyle=1) |
Set the marker style. | |
Static Public Member Functions | |
static Bool_t | CompareArg (const TGraph *gr, Int_t left, Int_t right) |
Return kTRUE if point number "left"'s argument (angle with respect to positive x-axis) is bigger than that of point number "right". | |
static Bool_t | CompareRadius (const TGraph *gr, Int_t left, Int_t right) |
Return kTRUE if point number "left"'s distance to origin is bigger than that of point number "right". | |
static Bool_t | CompareX (const TGraph *gr, Int_t left, Int_t right) |
Return kTRUE if fX[left] > fX[right]. Can be used by Sort. | |
static Bool_t | CompareY (const TGraph *gr, Int_t left, Int_t right) |
Return kTRUE if fY[left] > fY[right]. Can be used by Sort. | |
Static Public Member Functions inherited from TObject | |
static Long_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. | |
Static Public Member Functions inherited from TAttMarker | |
static Width_t | GetMarkerLineWidth (Style_t style) |
Internal helper function that returns the line width of the given marker style (0 = filled marker) | |
static Style_t | GetMarkerStyleBase (Style_t style) |
Internal helper function that returns the corresponding marker style with line width 1 for the given style. | |
Protected Member Functions | |
virtual Double_t ** | Allocate (Int_t newsize) |
Allocate internal data structures for newsize points. | |
Double_t ** | AllocateArrays (Int_t Narrays, Int_t arraySize) |
Allocate arrays. | |
virtual void | CopyAndRelease (Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin) |
Copy points from fX and fY to arrays[0] and arrays[1] or to fX and fY if arrays == 0 and ibegin != iend. | |
virtual Bool_t | CopyPoints (Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin) |
Copy points from fX and fY to arrays[0] and arrays[1] or to fX and fY if arrays == 0 and ibegin != iend. | |
Bool_t | CtorAllocate () |
In constructors set fNpoints than call this method. | |
virtual Bool_t | DoMerge (const TGraph *g) |
protected function to perform the merge operation of a graph | |
Double_t ** | ExpandAndCopy (Int_t size, Int_t iend) |
if size > fMaxSize allocate new arrays of 2*size points and copy iend first points. | |
virtual void | FillZero (Int_t begin, Int_t end, Bool_t from_ctor=kTRUE) |
Set zero values for point arrays in the range [begin, end) Should be redefined in descendant classes. | |
Double_t ** | ShrinkAndCopy (Int_t size, Int_t iend) |
if size*2 <= fMaxSize allocate new arrays of size points, copy points [0,oend). | |
virtual void | SwapPoints (Int_t pos1, Int_t pos2) |
Swap points. | |
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 () |
Static Protected Member Functions | |
static void | SwapValues (Double_t *arr, Int_t pos1, Int_t pos2) |
Swap values. | |
Protected Attributes | |
TList * | fFunctions |
Pointer to list of functions (fits and user) | |
TH1F * | fHistogram |
Pointer to histogram used for drawing axis. | |
Double_t | fMaximum |
Maximum value for plotting along y. | |
Int_t | fMaxSize |
!Current dimension of arrays fX and fY | |
Double_t | fMinimum |
Minimum value for plotting along y. | |
Int_t | fNpoints |
Number of points <= fMaxSize. | |
Double_t * | fX |
[fNpoints] array of X points | |
Double_t * | fY |
[fNpoints] array of Y points | |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
Protected Attributes inherited from TAttLine | |
Color_t | fLineColor |
Line color. | |
Style_t | fLineStyle |
Line style. | |
Width_t | fLineWidth |
Line width. | |
Protected Attributes inherited from TAttFill | |
Color_t | fFillColor |
Fill area color. | |
Style_t | fFillStyle |
Fill area style. | |
Protected Attributes inherited from TAttMarker | |
Color_t | fMarkerColor |
Marker color. | |
Size_t | fMarkerSize |
Marker size. | |
Style_t | fMarkerStyle |
Marker style. | |
Additional Inherited Members | |
Protected Types inherited from TObject | |
enum | { kOnlyPrepStep = BIT(3) } |
#include <TGraph.h>
enum TGraph::EStatusBits |
TGraph::TGraph | ( | ) |
Graph default constructor.
Definition at line 87 of file TGraph.cxx.
TGraph::TGraph | ( | Int_t | n | ) |
Constructor with only the number of points set the arrays x and y will be set later.
Definition at line 97 of file TGraph.cxx.
Graph normal constructor with ints.
Definition at line 108 of file TGraph.cxx.
Graph normal constructor with floats.
Definition at line 126 of file TGraph.cxx.
Graph normal constructor with doubles.
Definition at line 144 of file TGraph.cxx.
TGraph::TGraph | ( | const TGraph & | gr | ) |
Copy constructor for this graph.
Definition at line 161 of file TGraph.cxx.
Graph constructor with two vectors of floats in input A graph is build with the X coordinates taken from vx and Y coord from vy The number of points in the graph is the minimum of number of points in vx and vy.
Definition at line 257 of file TGraph.cxx.
Graph constructor with two vectors of doubles in input A graph is build with the X coordinates taken from vx and Y coord from vy The number of points in the graph is the minimum of number of points in vx and vy.
Definition at line 276 of file TGraph.cxx.
TGraph::TGraph | ( | const TH1 * | h | ) |
Graph constructor importing its parameters from the TH1 object passed as argument.
Definition at line 292 of file TGraph.cxx.
Graph constructor importing its parameters from the TF1 object passed as argument.
Definition at line 334 of file TGraph.cxx.
TGraph::TGraph | ( | const char * | filename, |
const char * | format = "%lg %lg" , |
||
Option_t * | option = "" |
||
) |
Graph constructor reading input from filename.
filename
is assumed to contain at least two columns of numbers. the string format is by default "%lg %lg"
. This is a standard c formatting for scanf()
.
If columns of numbers should be skipped, a "%*lg"
or "%*s"
for each column can be added, e.g. "%lg %*lg %lg"
would read x-values from the first and y-values from the third column.
For files separated by a specific delimiter different from ' ' and '\t' (e.g. ';' in csv files) you can avoid using %*s
to bypass this delimiter by explicitly specify the option
argument, e.g. option=" \t,;"
for columns of figures separated by any of these characters (' ', '\t', ',', ';') used once (e.g. "1;1"
) or in a combined way (" 1;,;; 1"
). Note in that case, the instantiation is about two times slower.
Definition at line 398 of file TGraph.cxx.
|
virtual |
Graph default destructor.
Definition at line 521 of file TGraph.cxx.
Allocate internal data structures for newsize
points.
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, and TGraphMultiErrors.
Definition at line 545 of file TGraph.cxx.
Allocate arrays.
Definition at line 553 of file TGraph.cxx.
Apply function f to all the data points f may be a 1-D function TF1 or 2-d function TF2 The Y values of the graph are replaced by the new values computed using the function.
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, and TGraphMultiErrors.
Definition at line 576 of file TGraph.cxx.
Return the chisquare of this graph with respect to f1.
The chisquare is computed as the sum of the quantity below at each point:
\[ \frac{(y-f1(x))^{2}}{ey^{2}+(\frac{1}{2}(exl+exh)f1'(x))^{2}} \]
where x and y are the graph point coordinates and f1'(x) is the derivative of function f1(x). This method to approximate the uncertainty in y because of the errors in x, is called "effective variance" method. In case of a pure TGraph, the denominator is 1. In case of a TGraphErrors or TGraphAsymmErrors the errors are taken into account. By default the range of the graph is used whatever function range. Use option "R" to use the function range
Definition at line 615 of file TGraph.cxx.
Return kTRUE if point number "left"'s argument (angle with respect to positive x-axis) is bigger than that of point number "right".
Can be used by Sort.
Definition at line 632 of file TGraph.cxx.
Return kTRUE if point number "left"'s distance to origin is bigger than that of point number "right".
Can be used by Sort.
Definition at line 660 of file TGraph.cxx.
Return kTRUE if fX[left] > fX[right]. Can be used by Sort.
Definition at line 643 of file TGraph.cxx.
Return kTRUE if fY[left] > fY[right]. Can be used by Sort.
Definition at line 651 of file TGraph.cxx.
|
virtual |
Compute the x/y range of the points in this graph.
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, and TGraphMultiErrors.
Definition at line 669 of file TGraph.cxx.
|
protectedvirtual |
Copy points from fX and fY to arrays[0] and arrays[1] or to fX and fY if arrays == 0 and ibegin != iend.
If newarrays is non null, replace fX, fY with pointers from newarrays[0,1]. Delete newarrays, old fX and fY
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, and TGraphMultiErrors.
Definition at line 700 of file TGraph.cxx.
|
protectedvirtual |
Copy points from fX and fY to arrays[0] and arrays[1] or to fX and fY if arrays == 0 and ibegin != iend.
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, and TGraphMultiErrors.
Definition at line 717 of file TGraph.cxx.
In constructors set fNpoints than call this method.
Return kFALSE if the graph will contain no points. Note: This function should be called only from the constructor since it does not delete previously existing arrays
Definition at line 743 of file TGraph.cxx.
Compute distance from point px,py to a graph.
Compute the closest distance of approach from point px,py to this line. The distance is computed in pixels units.
Reimplemented from TObject.
Definition at line 813 of file TGraph.cxx.
protected function to perform the merge operation of a graph
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, and TGraphMultiErrors.
Definition at line 2580 of file TGraph.cxx.
Draw this graph with its current attributes.
The options to draw a graph are described in TGraphPainter class.
Reimplemented from TObject.
Reimplemented in TGraphPolar.
Definition at line 769 of file TGraph.cxx.
|
virtual |
Draw this graph with new attributes.
Definition at line 849 of file TGraph.cxx.
|
virtual |
Draw this graph with new attributes.
Definition at line 836 of file TGraph.cxx.
|
virtual |
Draw this graph with new attributes.
Definition at line 823 of file TGraph.cxx.
|
virtual |
Display a panel with all graph drawing options.
Definition at line 866 of file TGraph.cxx.
|
virtual |
Interpolate points in this graph at x using a TSpline.
if spline is specified, it is used to return the interpolated value.
If the points are sorted in X a binary search is used (significantly faster) One needs to set the bit TGraph::SetBit(TGraph::kIsSortedX) before calling TGraph::Eval to indicate that the graph is sorted in X.
Definition at line 887 of file TGraph.cxx.
Execute action corresponding to one event.
This member function is called when a graph is clicked with the locator
If Left button clicked on one of the line end points, this point follows the cursor until button is released.
if Middle button clicked, the line is moved parallel to itself until the button is released.
Reimplemented from TObject.
Definition at line 990 of file TGraph.cxx.
If array sizes <= newsize, expand storage to 2*newsize.
Definition at line 999 of file TGraph.cxx.
If graph capacity is less than newsize points then make array sizes equal to least multiple of step to contain newsize points.
Definition at line 1009 of file TGraph.cxx.
if size > fMaxSize allocate new arrays of 2*size points and copy iend first points.
Return pointer to new arrays.
Definition at line 1023 of file TGraph.cxx.
Set zero values for point arrays in the range [begin, end) Should be redefined in descendant classes.
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, and TGraphMultiErrors.
Definition at line 1037 of file TGraph.cxx.
|
virtual |
Search object named name in the list of functions.
Reimplemented from TObject.
Definition at line 1046 of file TGraph.cxx.
Search object obj in the list of functions.
Reimplemented from TObject.
Definition at line 1055 of file TGraph.cxx.
|
virtual |
Fit this graph with function with name fname.
interface to TGraph::Fit(TF1 *f1...
fname is the name of an already predefined function created by TF1 or TF2 Predefined functions such as gaus, expo and poln are automatically created by ROOT.
fname can also be a formula, accepted by the linear fitter (linear parts divided by "++" sign), for example "x++sin(x)" for fitting "[0]*x+[1]*sin(x)"
Definition at line 1073 of file TGraph.cxx.
|
virtual |
Fit this graph with function f1.
f1 is an already predefined function created by TF1. Predefined functions such as gaus, expo and poln are automatically created by ROOT.
The list of fit options is given in parameter option.
option | description |
---|---|
"W" | Ignore all point errors when fitting a TGraphErrors or TGraphAsymmErrors |
"U" | Use a User specified fitting algorithm (via SetFCN) |
"Q" | Quiet mode (minimum printing) |
"V" | Verbose mode (default is between Q and V) |
"E" | Perform better Errors estimation using Minos technique |
"B" | User defined parameter settings are used for predefined functions like "gaus", "expo", "poln", "landau". Use this option when you want to fix one or more parameters for these functions. |
"M" | More. Improve fit results. It uses the IMPROVE command of TMinuit (see TMinuit::mnimpr). This algorithm attempts to improve the found local minimum by searching for a better one. |
"R" | Use the Range specified in the function range |
"N" | Do not store the graphics function, do not draw |
"0" | Do not plot the result of the fit. By default the fitted function is drawn unless the option "N" above is specified. |
"+" | Add this new fitted function to the list of fitted functions (by default, any previous function is deleted) |
"C" | In case of linear fitting, do not calculate the chisquare (saves time) |
"F" | If fitting a polN, use the minuit fitter |
"EX0" | When fitting a TGraphErrors or TGraphAsymErrors do not consider errors in the X coordinates |
"ROB" | In case of linear fitting, compute the LTS regression coefficients (robust (resistant) regression), using the default fraction of good points "ROB=0.x" - compute the LTS regression coefficients, using 0.x as a fraction of good points |
"S" | The result of the fit is returned in the TFitResultPtr (see below Access to the Fit Result) |
When the fit is drawn (by default), the parameter goption may be used to specify a list of graphics options. See TGraphPainter for a complete list of these options.
In order to use the Range option, one must first create a function with the expression to be fitted. For example, if your graph has a defined range between -4 and 4 and you want to fit a gaussian only in the interval 1 to 3, you can do:
TF1 *f1 = new TF1("f1","gaus",1,3); graph->Fit("f1","R");
Who is calling this function:
Note that this function is called when calling TGraphErrors::Fit or TGraphAsymmErrors::Fit ot TGraphBentErrors::Fit See the discussion below on error calculation.
When the fitting function is linear (contains the "++" sign) or the fitting function is a polynomial, a linear fitter is initialised. To create a linear function, use the following syntax: linear parts separated by "++" sign. Example: to fit the parameters of "[0]*x + [1]*sin(x)", create a TF1 *f1=new TF1("f1", "x++sin(x)", xmin, xmax); For such a TF1 you don't have to set the initial conditions. Going via the linear fitter for functions, linear in parameters, gives a considerable advantage in speed.
Parameters must be initialized before invoking the Fit function. The setting of the parameter initial values is automatic for the predefined functions : poln, expo, gaus, landau. One can however disable this automatic computation by specifying the option "B". You can specify boundary limits for some or all parameters via
f1->SetParLimits(p_number, parmin, parmax);
If parmin>=parmax, the parameter is fixed Note that you are not forced to fix the limits for all parameters. For example, if you fit a function with 6 parameters, you can do:
func->SetParameters(0,3.1,1.e-6,0.1,-8,100); func->SetParLimits(4,-10,-4); func->SetParLimits(5, 1,1); With this setup, parameters 0->3 can vary freely. Parameter 4 has boundaries [-10,-4] with initial value -8. Parameter 5 is fixed to 100.
The fit range can be specified in two ways:
By default a chi2 fitting function is used for fitting a TGraph. The function is implemented in FitUtil::EvaluateChi2. In case of TGraphErrors an effective chi2 is used (see below TGraphErrors fit) To specify a User defined fitting function, specify option "U" and call the following functions:
TVirtualFitter::Fitter(mygraph)->SetFCN(MyFittingFunction) where MyFittingFunction is of type: extern void MyFittingFunction(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag);
In case of a TGraphErrors object, when x errors are present, the error along x, is projected along the y-direction by calculating the function at the points x-exlow and x+exhigh. The chisquare is then computed as the sum of the quantity below at each point:
\[ \frac{(y-f(x))^{2}}{ey^{2}+(\frac{1}{2}(exl+exh)f'(x))^{2}} \]
where x and y are the point coordinates, and f'(x) is the derivative of the function f(x).
In case the function lies below (above) the data point, ey is ey_low (ey_high).
thanks to Andy Haas (haas@.nosp@m.yaho.nosp@m.o.com) for adding the case with TGraphAsymmErrors University of Washington
The approach used to approximate the uncertainty in y because of the errors in x is to make it equal the error in x times the slope of the line. The improvement, compared to the first method (f(x+ exhigh) - f(x-exlow))/2 is of (error of x)**2 order. This approach is called "effective variance method". This improvement has been made in version 4.00/08 by Anna Kreshuk. The implementation is provided in the function FitUtil::EvaluateChi2Effective
NOTE:
The function returns a TFitResultPtr which can hold a pointer to a TFitResult object. By default the TFitResultPtr contains only the status of the fit which is return by an automatic conversion of the TFitResultPtr to an integer. One can write in this case directly:
Int_t fitStatus = h->Fit(myFunc)
If the option "S" is instead used, TFitResultPtr contains the TFitResult and behaves as a smart pointer to it. For example one can do:
TFitResultPtr r = h->Fit(myFunc,"S"); TMatrixDSym cov = r->GetCovarianceMatrix(); // to access the covariance matrix Double_t chi2 = r->Chi2(); // to retrieve the fit chi2 Double_t par0 = r->Value(0); // retrieve the value for the parameter 0 Double_t err0 = r->ParError(0); // retrieve the error for the parameter 0 r->Print("V"); // print full information of fit including covariance matrix r->Write(); // store the result in a file
The fit parameters, error and chi2 (but not covariance matrix) can be retrieved also from the fitted function. If the histogram is made persistent, the list of associated functions is also persistent. Given a pointer (see above) to an associated function myfunc, one can retrieve the function/fit parameters with calls such as:
Double_t chi2 = myfunc->GetChisquare(); Double_t par0 = myfunc->GetParameter(0); //value of 1st parameter Double_t err0 = myfunc->GetParError(0); //error on first parameter
The status of the fit can be obtained converting the TFitResultPtr to an integer independently if the fit option "S" is used or not:
TFitResultPtr r = h->Fit(myFunc,opt); Int_t fitStatus = r;
The fitStatus is 0 if the fit is OK (i.e. no error occurred). The value of the fit status code is negative in case of an error not connected with the minimization procedure, for example when a wrong function is used. Otherwise the return value is the one returned from the minimization procedure. When TMinuit (default case) or Minuit2 are used as minimizer the status returned is : fitStatus = migradResult + 10*minosResult + 100*hesseResult + 1000*improveResult. TMinuit will return 0 (for migrad, minos, hesse or improve) in case of success and 4 in case of error (see the documentation of TMinuit::mnexcm). So for example, for an error only in Minos but not in Migrad a fitStatus of 40 will be returned. Minuit2 will return also 0 in case of success and different values in migrad, minos or hesse depending on the error. See in this case the documentation of Minuit2Minimizer::Minimize for the migradResult, Minuit2Minimizer::GetMinosError for the minosResult and Minuit2Minimizer::Hesse for the hesseResult. If other minimizers are used see their specific documentation for the status code returned. For example in the case of Fumili, for the status returned see TFumili::Minimize.
One or more object (typically a TF1*) can be added to the list of functions (fFunctions) associated with each graph. When TGraph::Fit is invoked, the fitted function is added to this list. Given a graph gr, one can retrieve an associated function with: TF1 *myfunc = gr->GetFunction("myfunc");
If the graph is made persistent, the list of associated functions is also persistent. Given a pointer (see above) to an associated function myfunc, one can retrieve the function/fit parameters with calls such as:
Double_t chi2 = myfunc->GetChisquare(); Double_t par0 = myfunc->GetParameter(0); //value of 1st parameter Double_t err0 = myfunc->GetParError(0); //error on first parameter
You can change the statistics box to display the fit parameters with the TStyle::SetOptFit(mode) method. This mode has four digits. mode = pcev (default = 0111)
v = 1; print name/values of parameters e = 1; print errors (if e=1, v must be 1) c = 1; print Chisquare/Number of degrees of freedom p = 1; print Probability
For example: gStyle->SetOptFit(1011); prints the fit probability, parameter names/values, and errors. You can change the position of the statistics box with these lines (where g is a pointer to the TGraph):
Root > TPaveStats *st = (TPaveStats*)g->GetListOfFunctions()->FindObject("stats") Root > st->SetX1NDC(newx1); //new x start position Root > st->SetX2NDC(newx2); //new x end position
Definition at line 1316 of file TGraph.cxx.
|
virtual |
Display a GUI panel with all graph fit options.
See class TFitEditor for example
Definition at line 1331 of file TGraph.cxx.
|
virtual |
Return graph correlation factor.
Definition at line 1353 of file TGraph.cxx.
|
virtual |
Return covariance of vectors x,y.
Definition at line 1365 of file TGraph.cxx.
Bool_t TGraph::GetEditable | ( | ) | const |
Return kTRUE if kNotEditable bit is not set, kFALSE otherwise.
Definition at line 2234 of file TGraph.cxx.
This function is called by GraphFitChisquare.
It always returns a negative value. Real implementation in TGraphErrors
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, and TGraphMultiErrors.
Definition at line 1419 of file TGraph.cxx.
This function is called by GraphFitChisquare.
It always returns a negative value. Real implementation in TGraphErrors and TGraphAsymmErrors
Reimplemented in TGraphBentErrors, TGraphErrors, TGraphAsymmErrors, and TGraphMultiErrors.
Definition at line 1438 of file TGraph.cxx.
This function is called by GraphFitChisquare.
It always returns a negative value. Real implementation in TGraphErrors and TGraphAsymmErrors
Reimplemented in TGraphBentErrors, TGraphErrors, TGraphAsymmErrors, and TGraphMultiErrors.
Definition at line 1448 of file TGraph.cxx.
This function is called by GraphFitChisquare.
It always returns a negative value. Real implementation in TGraphErrors
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, and TGraphMultiErrors.
Definition at line 1428 of file TGraph.cxx.
This function is called by GraphFitChisquare.
It always returns a negative value. Real implementation in TGraphErrors and TGraphAsymmErrors
Reimplemented in TGraphBentErrors, TGraphErrors, TGraphAsymmErrors, and TGraphMultiErrors.
Definition at line 1458 of file TGraph.cxx.
This function is called by GraphFitChisquare.
It always returns a negative value. Real implementation in TGraphErrors and TGraphAsymmErrors
Reimplemented in TGraphBentErrors, TGraphErrors, TGraphAsymmErrors, and TGraphMultiErrors.
Definition at line 1468 of file TGraph.cxx.
|
inlinevirtual |
Reimplemented in TGraphErrors.
|
inlinevirtual |
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, and TGraphMultiErrors.
|
inlinevirtual |
Reimplemented in TGraphBentErrors.
|
inlinevirtual |
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, and TGraphMultiErrors.
|
inlinevirtual |
Reimplemented in TGraphBentErrors.
|
inlinevirtual |
Reimplemented in TGraphErrors.
|
inlinevirtual |
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, and TGraphMultiErrors.
|
inlinevirtual |
Reimplemented in TGraphBentErrors.
|
inlinevirtual |
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, and TGraphMultiErrors.
|
inlinevirtual |
Reimplemented in TGraphBentErrors.
TF1 * TGraph::GetFunction | ( | const char * | name | ) | const |
Return pointer to function with name.
Functions such as TGraph::Fit store the fitted function in the list of functions of this graph.
Definition at line 1479 of file TGraph.cxx.
TH1F * TGraph::GetHistogram | ( | ) | const |
Returns a pointer to the histogram used to draw the axis Takes into account the two following cases.
Definition at line 1491 of file TGraph.cxx.
Return mean value of X (axis=1) or Y (axis=2)
Definition at line 1381 of file TGraph.cxx.
Implementation to get information on point of graph at cursor position Adapted from class TH1.
Reimplemented from TObject.
Definition at line 1661 of file TGraph.cxx.
Get x and y values for point number i.
The function returns -1 in case of an invalid request or the point number otherwise
Definition at line 1607 of file TGraph.cxx.
Get x value for point i.
Definition at line 1618 of file TGraph.cxx.
Get y value for point i.
Definition at line 1629 of file TGraph.cxx.
Return RMS of X (axis=1) or Y (axis=2)
Definition at line 1396 of file TGraph.cxx.
TAxis * TGraph::GetXaxis | ( | ) | const |
Get x axis of the graph.
Definition at line 1640 of file TGraph.cxx.
TAxis * TGraph::GetYaxis | ( | ) | const |
Get y axis of the graph.
Definition at line 1650 of file TGraph.cxx.
Compute Initial values of parameters for an exponential.
Definition at line 1730 of file TGraph.cxx.
Compute Initial values of parameters for a gaussian.
Definition at line 1692 of file TGraph.cxx.
Compute Initial values of parameters for a polynom.
Definition at line 1751 of file TGraph.cxx.
|
virtual |
Insert a new point at the mouse position.
Definition at line 1771 of file TGraph.cxx.
Insert a new point with coordinates (x,y) before the point number ipoint
.
Definition at line 1816 of file TGraph.cxx.
Integrate the TGraph data within a given (index) range.
Note that this function computes the area of the polygon enclosed by the points of the TGraph. The polygon segments, which are defined by the points of the TGraph, do not need to form a closed polygon, since the last polygon segment, which closes the polygon, is taken as the line connecting the last TGraph point with the first one. It is clear that the order of the point is essential in defining the polygon. Also note that the segments should not intersect.
NB:
There are many ways to calculate the surface of a polygon. It all depends on what kind of data you have to deal with. The most evident solution would be to divide the polygon in triangles and calculate the surface of them. But this can quickly become complicated as you will have to test every segments of every triangles and check if they are intersecting with a current polygon's segment or if it goes outside the polygon. Many calculations that would lead to many problems...
Fortunately for us, there is a simple way to solve this problem, as long as the polygon's segments don't intersect. It takes the x coordinate of the current vertex and multiply it by the y coordinate of the next vertex. Then it subtracts from it the result of the y coordinate of the current vertex multiplied by the x coordinate of the next vertex. Then divide the result by 2 to get the surface/area.
Definition at line 1875 of file TGraph.cxx.
Return 1 if the point (x,y) is inside the polygon defined by the graph vertices 0 otherwise.
Algorithm:
The loop is executed with the end-point coordinates of a line segment (X1,Y1)-(X2,Y2) and the Y-coordinate of a horizontal line. The counter inter is incremented if the line (X1,Y1)-(X2,Y2) intersects the horizontal line. In this case XINT is set to the X-coordinate of the intersection point. If inter is an odd number, then the point x,y is within the polygon.
Definition at line 1908 of file TGraph.cxx.
Least squares polynomial fitting without weights.
[in] | m | number of parameters |
[in] | a | array of parameters |
[in] | xmin | 1st point number to fit (default =0) |
[in] | xmax | last point number to fit (default=fNpoints-1) |
based on CERNLIB routine LSQ: Translated to C++ by Rene Brun
Definition at line 1923 of file TGraph.cxx.
|
virtual |
Least square linear fit without weights.
Fit a straight line (a0 + a1*x) to the data in this graph.
[in] | ndata | if ndata<0, fits the logarithm of the graph (used in InitExpo() to set the initial parameter values for a fit with exponential function. |
[in] | a0 | constant |
[in] | a1 | slope |
[in] | ifail | return parameter indicating the status of the fit (ifail=0, fit is OK) |
[in] | xmin,xmax | fitting range |
extracted from CERNLIB LLSQ: Translated to C++ by Rene Brun
Definition at line 1998 of file TGraph.cxx.
|
virtual |
Adds all graphs from the collection to this graph.
Returns the total number of poins in the result or -1 in case of an error.
Reimplemented in TGraphAsymmErrors, and TGraphErrors.
Definition at line 2562 of file TGraph.cxx.
|
virtual |
Move all graph points on specified values dx,dy If log argument specified, calculation done in logarithmic scale like: new_value = exp( log(old_value) + delta );.
Definition at line 2595 of file TGraph.cxx.
Equal operator for this graph.
Definition at line 192 of file TGraph.cxx.
Draw this graph with its current attributes.
Reimplemented from TObject.
Definition at line 2044 of file TGraph.cxx.
Draw the (x,y) as a graph.
Definition at line 2053 of file TGraph.cxx.
void TGraph::PaintGrapHist | ( | Int_t | npoints, |
const Double_t * | x, | ||
const Double_t * | y, | ||
Option_t * | chopt | ||
) |
Draw the (x,y) as a histogram.
Definition at line 2062 of file TGraph.cxx.
Draw the stats.
Definition at line 2071 of file TGraph.cxx.
Print graph values.
Reimplemented from TNamed.
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, TGraphMultiErrors, RooCurve, RooEllipse, and RooHist.
Definition at line 2080 of file TGraph.cxx.
Recursively remove object from the list of functions.
Reimplemented from TObject.
Definition at line 2090 of file TGraph.cxx.
|
virtual |
Delete point close to the mouse position.
Definition at line 2102 of file TGraph.cxx.
Delete point number ipoint.
Definition at line 2125 of file TGraph.cxx.
Save primitive as a C++ statement(s) on output stream out.
Reimplemented from TObject.
Reimplemented in TCutG, TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, and TGraphMultiErrors.
Definition at line 2139 of file TGraph.cxx.
Set number of points in the graph Existing coordinates are preserved New coordinates above fNpoints are preset to 0.
Definition at line 2219 of file TGraph.cxx.
if editable=kFALSE, the graph cannot be modified with the mouse by default a TGraph is editable
Definition at line 2243 of file TGraph.cxx.
Set highlight (enable/disble) mode for the graph by default highlight mode is disable.
Definition at line 2253 of file TGraph.cxx.
Set the maximum of the graph.
Reimplemented in TGraphPolar.
Definition at line 2266 of file TGraph.cxx.
Set the minimum of the graph.
Reimplemented in TGraphPolar.
Definition at line 2275 of file TGraph.cxx.
|
virtual |
|
virtual |
Set x and y values for point number i.
Definition at line 2284 of file TGraph.cxx.
Set x value for point i.
Definition at line 2308 of file TGraph.cxx.
Set y value for point i.
Definition at line 2316 of file TGraph.cxx.
|
virtual |
Change (i.e.
set) the title
if title is in the form stringt;stringx;stringy;stringz
the graph title is set to stringt
, the x axis title to stringx
, the y axis title to stringy
, and the z axis title to stringz
.
To insert the character ;
in one of the titles, one should use #;
or #semicolon
.
Reimplemented from TNamed.
Definition at line 2339 of file TGraph.cxx.
if size*2 <= fMaxSize allocate new arrays of size points, copy points [0,oend).
Return newarray (passed or new instance if it was zero and allocations are needed)
Definition at line 2371 of file TGraph.cxx.
|
virtual |
Sorts the points of this TGraph using in-place quicksort (see e.g.
older glibc). To compare two points the function parameter greaterfunc is used (see TGraph::CompareX for an example of such a method, which is also the default comparison function for Sort). After the sort, greaterfunc(this, i, j) will return kTRUE for all i>j if ascending == kTRUE, and kFALSE otherwise.
The last two parameters are used for the recursive quick sort, stating the range to be sorted
Examples:
Definition at line 2404 of file TGraph.cxx.
Swap points.
Reimplemented in TGraphAsymmErrors, TGraphBentErrors, TGraphErrors, and TGraphMultiErrors.
Definition at line 2506 of file TGraph.cxx.
Swap values.
Definition at line 2515 of file TGraph.cxx.
|
virtual |
Set current style settings in this graph This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked.
Reimplemented from TObject.
Definition at line 2527 of file TGraph.cxx.
void TGraph::Zero | ( | Int_t & | k, |
Double_t | AZ, | ||
Double_t | BZ, | ||
Double_t | E2, | ||
Double_t & | X, | ||
Double_t & | Y, | ||
Int_t | maxiterations | ||
) |
Find zero of a continuous function.
This function finds a real zero of the continuous real function Y(X) in a given interval (A,B). See accompanying notes for details of the argument list and calling sequence
Definition at line 2621 of file TGraph.cxx.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |