Graphics object made of three arrays X, Y and Z with the same number of points each.
This class has different constructors:
SetPoint()
. The following line fills the internal arrays at the position i
with the values x
, y
, z
. SetPoint()
must be used to fill the internal arrays.%lg %lg %lg
Note that in any of these three cases, SetPoint()
can be used to change a data point or add a new one. If the data point index (i
) is greater than the current size of the internal arrays, they are automatically extended.
Like TGraph the TGraph2D constructors do not have the TGraph2D title and name as parameters. A TGraph2D has the default title and name "Graph2D". To change the default title and name SetTitle
and SetName
should be called on the TGraph2D after its creation.
Specific drawing options can be used to paint a TGraph2D:
Option | Description |
---|---|
"TRI" | The Delaunay triangles are drawn using filled area. An hidden surface drawing technique is used. The surface is painted with the current fill area color. The edges of each triangles are painted with the current line color. |
"TRIW" | The Delaunay triangles are drawn as wire frame. |
"TRI1" | The Delaunay triangles are painted with color levels. The edges of each triangles are painted with the current line color. |
"TRI2" | The Delaunay triangles are painted with color levels. |
"P" | Draw a marker at each vertex. |
"P0" | Draw a circle at each vertex. Each circle background is white. |
"PCOL" | Draw a marker at each vertex. The color of each marker is defined according to its Z position. |
"LINE" | Draw a 3D polyline. |
A TGraph2D can be also drawn with any options valid to draw a 2D histogram (like COL
, SURF
, LEGO
, CONT
etc..).
When a TGraph2D is drawn with one of the 2D histogram drawing option, an intermediate 2D histogram is filled using the Delaunay triangles to interpolate the data set. The 2D histogram has equidistant bins along the X and Y directions. The number of bins along each direction can be change using SetNpx()
and SetNpy()
. Each bin is filled with the Z value found via a linear interpolation on the plane defined by the triangle above the (X,Y) coordinates of the bin center.
The existing (X,Y,Z) points can be randomly scattered. The Delaunay triangles are build in the (X,Y) plane. These 2D triangles are then used to define flat planes in (X,Y,Z) over which the interpolation is done to fill the 2D histogram. The 3D triangles int takes build a 3D surface in the form of tessellating triangles at various angles. The triangles found can be drawn in 3D with one of the TGraph2D specific drawing options.
The histogram generated by the Delaunay interpolation can be accessed using the GetHistogram()
method.
The axis settings (title, ranges etc ...) can be changed accessing the axis via the GetXaxis GetYaxis and GetZaxis methods. They access the histogram axis created at drawing time only. Therefore they should called after the TGraph2D is drawn:
Example:
2D graphs can be fitted as shown by the following example:
Example showing the PCOL option.
For a set S of points in the Euclidean plane, the unique triangulation DT(S) of S such that no point in S is inside the circumcircle of any triangle in DT(S). DT(S) is the dual of the Voronoi diagram of S. If n is the number of points in S, the Voronoi diagram of S is the partitioning of the plane containing S points into n convex polygons such that each polygon contains exactly one point and every point in a given polygon is closer to its central point than to any other. A Voronoi diagram is sometimes also known as a Dirichlet tessellation.
This applet gives a nice practical view of Delaunay triangulation and Voronoi diagram.
Definition at line 41 of file TGraph2D.h.
Public Member Functions | |
TGraph2D () | |
Graph2D default constructor. | |
TGraph2D (const char *filename, const char *format="%lg %lg %lg", Option_t *option="") | |
Graph2D constructor reading input from filename filename is assumed to contain at least three columns of numbers. | |
TGraph2D (const char *name, const char *title, Int_t n, Double_t *x, Double_t *y, Double_t *z) | |
Graph2D constructor with name, title and three vectors of doubles as input. | |
TGraph2D (const TGraph2D &) | |
Graph2D copy constructor. | |
TGraph2D (Int_t n) | |
Graph2D constructor. | |
TGraph2D (Int_t n, Double_t *x, Double_t *y, Double_t *z) | |
Graph2D constructor with three vectors of doubles as input. | |
TGraph2D (Int_t n, Float_t *x, Float_t *y, Float_t *z) | |
Graph2D constructor with three vectors of floats as input. | |
TGraph2D (Int_t n, Int_t *x, Int_t *y, Int_t *z) | |
Graph2D constructor with three vectors of ints as input. | |
TGraph2D (TH2 *h2) | |
Graph2D constructor with a TH2 (h2) as input. | |
virtual | ~TGraph2D () |
TGraph2D destructor. | |
virtual void | AddPoint (Double_t x, Double_t y, Double_t z) |
Append a new point to the graph. | |
virtual void | Browse (TBrowser *) |
Browse. | |
virtual void | Clear (Option_t *option="") |
Free all memory allocated by this object. | |
virtual void | DirectoryAutoAdd (TDirectory *) |
Perform the automatic addition of the graph to the given directory. | |
Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point px,py to a graph. | |
virtual void | Draw (Option_t *option="P0") |
Specific drawing options can be used to paint a TGraph2D: | |
void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Executes action corresponding to one event. | |
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="") |
Fits this graph with function with name fname Predefined functions such as gaus, expo and poln are automatically created by ROOT. | |
virtual TFitResultPtr | Fit (TF2 *f2, Option_t *option="", Option_t *goption="") |
Fits this 2D graph with function f2. | |
virtual void | FitPanel () |
Display a GUI panel with all graph fit options. | |
TList * | GetContourList (Double_t contour) |
Returns the X and Y graphs building a contour. | |
TDirectory * | GetDirectory () const |
virtual Double_t | GetErrorX (Int_t bin) const |
This function is called by Graph2DFitChisquare. | |
virtual Double_t | GetErrorY (Int_t bin) const |
This function is called by Graph2DFitChisquare. | |
virtual Double_t | GetErrorZ (Int_t bin) const |
This function is called by Graph2DFitChisquare. | |
virtual Double_t * | GetEX () const |
virtual Double_t * | GetEY () const |
virtual Double_t * | GetEZ () const |
TH2D * | GetHistogram (Option_t *option="") |
By default returns a pointer to the Delaunay histogram. | |
TList * | GetListOfFunctions () const |
Double_t | GetMargin () const |
Double_t | GetMaximum () const |
Double_t | GetMinimum () const |
Int_t | GetN () const |
Int_t | GetNpx () const |
Int_t | GetNpy () const |
virtual Int_t | GetPoint (Int_t i, Double_t &x, Double_t &y, Double_t &z) const |
Get x, y and z values for point number i. | |
Double_t * | GetX () const |
TAxis * | GetXaxis () const |
Get x axis of the graph. | |
Double_t | GetXmax () const |
Returns the X maximum. | |
virtual Double_t | GetXmaxE () const |
Double_t | GetXmin () const |
Returns the X minimum. | |
virtual Double_t | GetXminE () const |
Double_t * | GetY () const |
TAxis * | GetYaxis () const |
Get y axis of the graph. | |
Double_t | GetYmax () const |
Returns the Y maximum. | |
virtual Double_t | GetYmaxE () const |
Double_t | GetYmin () const |
Returns the Y minimum. | |
virtual Double_t | GetYminE () const |
Double_t * | GetZ () const |
TAxis * | GetZaxis () const |
Get z axis of the graph. | |
Double_t | GetZmax () const |
Returns the Z maximum. | |
virtual Double_t | GetZmaxE () const |
Double_t | GetZmin () const |
Returns the Z minimum. | |
virtual Double_t | GetZminE () const |
Double_t | Interpolate (Double_t x, Double_t y) |
Finds the z value at the position (x,y) thanks to the Delaunay interpolation. | |
TGraph2D & | operator= (const TGraph2D &) |
Graph2D operator "=". | |
void | Paint (Option_t *option="") |
Paints this 2D graph with its current attributes. | |
virtual void | Print (Option_t *chopt="") const |
Print 2D graph values. | |
TH1 * | Project (Option_t *option="x") const |
Projects a 2-d graph into 1 or 2-d histograms depending on the option parameter. | |
Int_t | RemovePoint (Int_t ipoint) |
Deletes point number ipoint. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Saves primitive as a C++ statement(s) on output stream out. | |
virtual void | Set (Int_t n) |
Set number of points in the 2D graph. | |
virtual void | SetDirectory (TDirectory *dir) |
By default when an 2D graph is created, it is added to the list of 2D graph objects in the current directory in memory. | |
virtual void | SetHistogram (TH2 *h) |
Sets the histogram to be filled. | |
void | SetMargin (Double_t m=0.1) |
Sets the extra space (in %) around interpolated area for the 2D histogram. | |
void | SetMarginBinsContent (Double_t z=0.) |
Sets the histogram bin height for points lying outside the TGraphDelaunay convex hull ie: the bins in the margin. | |
void | SetMaximum (Double_t maximum=-1111) |
Set maximum. | |
void | SetMaxIter (Int_t n=100000) |
void | SetMinimum (Double_t minimum=-1111) |
Set minimum. | |
virtual void | SetName (const char *name) |
Changes the name of this 2D graph. | |
virtual void | SetNameTitle (const char *name, const char *title) |
Change the name and title of this 2D graph. | |
void | SetNpx (Int_t npx=40) |
Sets the number of bins along X used to draw the function. | |
void | SetNpy (Int_t npx=40) |
Sets the number of bins along Y used to draw the function. | |
virtual void | SetPoint (Int_t point, Double_t x, Double_t y, Double_t z) |
Sets point number n. | |
virtual void | SetTitle (const char *title="") |
Sets the 2D graph title. | |
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 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 char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
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. | |
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. | |
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 | 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=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. | |
Protected Member Functions | |
void | Build (Int_t n) |
Creates the 2D graph basic data structure. | |
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 () |
Protected Attributes | |
TObject * | fDelaunay |
! Pointer to Delaunay interpolator object | |
TDirectory * | fDirectory |
!Pointer to directory holding this 2D graph | |
TList * | fFunctions |
Pointer to list of functions (fits and user) | |
TH2D * | fHistogram |
!2D histogram of z values linearly interpolated on the triangles | |
Double_t | fMargin |
Extra space (in %) around interpolated area for fHistogram. | |
Double_t | fMaximum |
Maximum value for plotting along z. | |
Int_t | fMaxIter |
Maximum number of iterations to find Delaunay triangles. | |
Double_t | fMinimum |
Minimum value for plotting along z. | |
Int_t | fNpoints |
Number of points in the data set. | |
Int_t | fNpx |
Number of bins along X in fHistogram. | |
Int_t | fNpy |
Number of bins along Y in fHistogram. | |
TVirtualHistPainter * | fPainter |
!Pointer to histogram painter | |
Int_t | fSize |
!Real size of fX, fY and fZ | |
Double_t * | fX |
[fNpoints] | |
Double_t * | fY |
[fNpoints] Data set to be plotted | |
Double_t * | fZ |
[fNpoints] | |
Double_t | fZout |
fHistogram bin height for points lying outside the interpolated area | |
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. | |
Private Types | |
enum | EStatusBits { kOldInterpolation = BIT(15) } |
Private Member Functions | |
void | CreateInterpolator (Bool_t oldInterp) |
Add a TGraphDelaunay in the list of the fHistogram's functions. | |
Private Attributes | |
Bool_t | fUserHisto |
Additional Inherited Members | |
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) } |
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 Types inherited from TObject | |
enum | { kOnlyPrepStep = BIT(3) } |
#include <TGraph2D.h>
|
private |
Enumerator | |
---|---|
kOldInterpolation |
Definition at line 69 of file TGraph2D.h.
TGraph2D::TGraph2D | ( | ) |
Graph2D default constructor.
Definition at line 212 of file TGraph2D.cxx.
TGraph2D::TGraph2D | ( | Int_t | n | ) |
Graph2D constructor.
The arrays fX, fY and fZ should be filled via calls to SetPoint
Definition at line 362 of file TGraph2D.cxx.
Graph2D constructor with three vectors of ints as input.
Definition at line 239 of file TGraph2D.cxx.
Graph2D constructor with three vectors of floats as input.
Definition at line 257 of file TGraph2D.cxx.
Graph2D constructor with three vectors of doubles as input.
Definition at line 275 of file TGraph2D.cxx.
TGraph2D::TGraph2D | ( | TH2 * | h2 | ) |
Graph2D constructor with a TH2 (h2) as input.
Only the h2's bins within the X and Y axis ranges are used. Empty bins, recognized when both content and errors are zero, are excluded.
Definition at line 295 of file TGraph2D.cxx.
TGraph2D::TGraph2D | ( | const char * | name, |
const char * | title, | ||
Int_t | n, | ||
Double_t * | x, | ||
Double_t * | y, | ||
Double_t * | z | ||
) |
Graph2D constructor with name, title and three vectors of doubles as input.
name : name of 2D graph (avoid blanks) title : 2D graph title if title is of the form "stringt;stringx;stringy;stringz" the 2D graph title is set to stringt, the x axis title to stringx, the y axis title to stringy,etc
Definition at line 342 of file TGraph2D.cxx.
TGraph2D::TGraph2D | ( | const char * | filename, |
const char * | format = "%lg %lg %lg" , |
||
Option_t * | option = "" |
||
) |
Graph2D constructor reading input from filename filename is assumed to contain at least three columns of numbers.
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 2 times slower.
Definition at line 384 of file TGraph2D.cxx.
TGraph2D::TGraph2D | ( | const TGraph2D & | g | ) |
Graph2D copy constructor.
copy everything apart from the list of contained functions
Definition at line 504 of file TGraph2D.cxx.
|
virtual |
TGraph2D destructor.
Definition at line 530 of file TGraph2D.cxx.
Append a new point to the graph.
Definition at line 93 of file TGraph2D.h.
Creates the 2D graph basic data structure.
Definition at line 584 of file TGraph2D.cxx.
Free all memory allocated by this object.
Reimplemented from TNamed.
Definition at line 631 of file TGraph2D.cxx.
Add a TGraphDelaunay in the list of the fHistogram's functions.
Definition at line 1046 of file TGraph2D.cxx.
|
virtual |
Perform the automatic addition of the graph to the given directory.
Note this function is called in place when the semantic requires this object to be added to a directory (I.e. when being read from a TKey or being Cloned)
Definition at line 665 of file TGraph2D.cxx.
Computes distance from point px,py to a graph.
Reimplemented from TObject.
Definition at line 680 of file TGraph2D.cxx.
Specific drawing options can be used to paint a TGraph2D:
A TGraph2D can be also drawn with ANY options valid to draw a 2D histogram.
When a TGraph2D is drawn with one of the 2D histogram drawing option, a intermediate 2D histogram is filled using the Delaunay triangles technique to interpolate the data set.
Reimplemented from TObject.
Definition at line 712 of file TGraph2D.cxx.
Executes action corresponding to one event.
Reimplemented from TObject.
Definition at line 732 of file TGraph2D.cxx.
|
virtual |
search object named name in the list of functions
Reimplemented from TObject.
Definition at line 741 of file TGraph2D.cxx.
search object obj in the list of functions
Reimplemented from TObject.
Definition at line 751 of file TGraph2D.cxx.
|
virtual |
Fits this graph with function with name fname 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(y)" for fitting "[0]*x+[1]*sin(y)"
Definition at line 765 of file TGraph2D.cxx.
|
virtual |
Fits this 2D graph with function f2.
f2 is an already predefined function created by TF2. 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 TGraph2DErrors |
"U" | Use a User specified fitting algorithm (via SetFCN) |
"Q" | Quiet mode (minimum printing) |
"V" | Verbose mode (default is between Q and V) |
"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, not calculate the chisquare (saves time) |
"EX0" | When fitting a TGraph2DErrors do not consider errors in the X,Y 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) |
In order to use the Range option, one must first create a function with the expression to be fitted. For example, if your graph2d 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:
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. One can however disable this automatic computation by specifying the option "B". You can specify boundary limits for some or all parameters via
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:
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 TGraph2DErrors an effective chi2 is used (see TGraphErrors fit in TGraph::Fit) and is implemented in FitUtil::EvaluateChi2Effective To specify a User defined fitting function, specify option "U" and call the following functions:
where MyFittingFunction is of type:
One or more object (typically a TF2*) can be added to the list of functions (fFunctions) associated to 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: TF2 *myfunc = gr->GetFunction("myfunc");
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 and it converts automatically to an integer. If the option "S" is instead used, TFitResultPtr contains the TFitResult and behaves as a smart pointer to it. For example one can do:
The fit parameters, error and chi2 (but not covariance matrix) can be retrieved also from the fitted function. 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:
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)
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):
Definition at line 920 of file TGraph2D.cxx.
|
virtual |
Display a GUI panel with all graph fit options.
See class TFitEditor for example
Definition at line 939 of file TGraph2D.cxx.
Returns the X and Y graphs building a contour.
A contour level may consist in several parts not connected to each other. This function returns them in a graphs' list.
Definition at line 998 of file TGraph2D.cxx.
|
inline |
Definition at line 106 of file TGraph2D.h.
This function is called by Graph2DFitChisquare.
It always returns a negative value. Real implementation in TGraph2DErrors
Reimplemented in TGraph2DErrors.
Definition at line 1017 of file TGraph2D.cxx.
This function is called by Graph2DFitChisquare.
It always returns a negative value. Real implementation in TGraph2DErrors
Reimplemented in TGraph2DErrors.
Definition at line 1027 of file TGraph2D.cxx.
This function is called by Graph2DFitChisquare.
It always returns a negative value. Real implementation in TGraph2DErrors
Reimplemented in TGraph2DErrors.
Definition at line 1037 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 124 of file TGraph2D.h.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 125 of file TGraph2D.h.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 126 of file TGraph2D.h.
By default returns a pointer to the Delaunay histogram.
If fHistogram doesn't exist, books the 2D histogram fHistogram with a margin around the hull. Calls TGraphDelaunay::Interpolate at each bin centre to build up an interpolated 2D histogram.
If the "empty" option is selected, returns an empty histogram booked with the limits of fX, fY and fZ. This option is used when the data set is drawn with markers only. In that particular case there is no need to find the Delaunay triangles.
By default use the new interpolation routine based on Triangles If the option "old" the old interpolation is used
Definition at line 1081 of file TGraph2D.cxx.
|
inline |
Definition at line 110 of file TGraph2D.h.
|
inline |
Definition at line 114 of file TGraph2D.h.
|
inline |
Definition at line 115 of file TGraph2D.h.
|
inline |
Definition at line 116 of file TGraph2D.h.
|
inline |
Definition at line 120 of file TGraph2D.h.
|
inline |
Definition at line 107 of file TGraph2D.h.
|
inline |
Definition at line 108 of file TGraph2D.h.
Get x, y and z values for point number i.
The function returns -1 in case of an invalid request or the point number otherwise
Definition at line 1288 of file TGraph2D.cxx.
|
inline |
Definition at line 121 of file TGraph2D.h.
TAxis * TGraph2D::GetXaxis | ( | ) | const |
Get x axis of the graph.
Definition at line 963 of file TGraph2D.cxx.
Double_t TGraph2D::GetXmax | ( | ) | const |
Returns the X maximum.
Definition at line 1222 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 133 of file TGraph2D.h.
Double_t TGraph2D::GetXmin | ( | ) | const |
Returns the X minimum.
Definition at line 1233 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 134 of file TGraph2D.h.
|
inline |
Definition at line 122 of file TGraph2D.h.
TAxis * TGraph2D::GetYaxis | ( | ) | const |
Get y axis of the graph.
Definition at line 974 of file TGraph2D.cxx.
Double_t TGraph2D::GetYmax | ( | ) | const |
Returns the Y maximum.
Definition at line 1244 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 135 of file TGraph2D.h.
Double_t TGraph2D::GetYmin | ( | ) | const |
Returns the Y minimum.
Definition at line 1255 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 136 of file TGraph2D.h.
|
inline |
Definition at line 123 of file TGraph2D.h.
TAxis * TGraph2D::GetZaxis | ( | ) | const |
Get z axis of the graph.
Definition at line 985 of file TGraph2D.cxx.
Double_t TGraph2D::GetZmax | ( | ) | const |
Returns the Z maximum.
Definition at line 1266 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 137 of file TGraph2D.h.
Double_t TGraph2D::GetZmin | ( | ) | const |
Returns the Z minimum.
Definition at line 1277 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 138 of file TGraph2D.h.
Finds the z value at the position (x,y) thanks to the Delaunay interpolation.
Definition at line 1302 of file TGraph2D.cxx.
Graph2D operator "=".
Definition at line 539 of file TGraph2D.cxx.
Paints this 2D graph with its current attributes.
Reimplemented from TObject.
Definition at line 1339 of file TGraph2D.cxx.
Print 2D graph values.
Reimplemented from TNamed.
Reimplemented in TGraph2DErrors.
Definition at line 1381 of file TGraph2D.cxx.
Projects a 2-d graph into 1 or 2-d histograms depending on the option parameter.
option may contain a combination of the characters x,y,z:
Definition at line 1398 of file TGraph2D.cxx.
Deletes point number ipoint.
Definition at line 1485 of file TGraph2D.cxx.
Saves primitive as a C++ statement(s) on output stream out.
Reimplemented from TObject.
Definition at line 1521 of file TGraph2D.cxx.
Set number of points in the 2D graph.
Existing coordinates are preserved. New coordinates above fNpoints are preset to 0.
Reimplemented in TGraph2DErrors.
Definition at line 1573 of file TGraph2D.cxx.
|
virtual |
By default when an 2D graph is created, it is added to the list of 2D graph objects in the current directory in memory.
This method removes reference to this 2D graph from current directory and add reference to new directory dir. dir can be 0 in which case the 2D graph does not belong to any directory.
Definition at line 1589 of file TGraph2D.cxx.
Sets the histogram to be filled.
If the 2D graph needs to be save in a TFile the following set should be followed to read it back:
Definition at line 1610 of file TGraph2D.cxx.
Sets the extra space (in %) around interpolated area for the 2D histogram.
Definition at line 1623 of file TGraph2D.cxx.
Sets the histogram bin height for points lying outside the TGraphDelaunay convex hull ie: the bins in the margin.
Definition at line 1643 of file TGraph2D.cxx.
Set maximum.
Definition at line 1657 of file TGraph2D.cxx.
Definition at line 153 of file TGraph2D.h.
Set minimum.
Definition at line 1668 of file TGraph2D.cxx.
|
virtual |
Changes the name of this 2D graph.
Reimplemented from TNamed.
Definition at line 1679 of file TGraph2D.cxx.
|
virtual |
Change the name and title of this 2D graph.
Reimplemented from TNamed.
Definition at line 1693 of file TGraph2D.cxx.
Sets the number of bins along X used to draw the function.
Definition at line 1707 of file TGraph2D.cxx.
Sets the number of bins along Y used to draw the function.
Definition at line 1729 of file TGraph2D.cxx.
Sets point number n.
If n is greater than the current size, the arrays are automatically extended.
Reimplemented in TGraph2DErrors.
Definition at line 1753 of file TGraph2D.cxx.
|
virtual |
Sets the 2D graph title.
This method allows to change the global title and the axis' titles of a 2D graph. If g
is the 2D graph one can do:
Reimplemented from TNamed.
Definition at line 1800 of file TGraph2D.cxx.
|
protected |
! Pointer to Delaunay interpolator object
Definition at line 59 of file TGraph2D.h.
|
protected |
!Pointer to directory holding this 2D graph
Definition at line 60 of file TGraph2D.h.
|
protected |
Pointer to list of functions (fits and user)
Definition at line 57 of file TGraph2D.h.
|
protected |
!2D histogram of z values linearly interpolated on the triangles
Definition at line 58 of file TGraph2D.h.
|
protected |
Extra space (in %) around interpolated area for fHistogram.
Definition at line 55 of file TGraph2D.h.
|
protected |
Maximum value for plotting along z.
Definition at line 54 of file TGraph2D.h.
|
protected |
Maximum number of iterations to find Delaunay triangles.
Definition at line 48 of file TGraph2D.h.
|
protected |
Minimum value for plotting along z.
Definition at line 53 of file TGraph2D.h.
|
protected |
Number of points in the data set.
Definition at line 45 of file TGraph2D.h.
|
protected |
Number of bins along X in fHistogram.
Definition at line 46 of file TGraph2D.h.
|
protected |
Number of bins along Y in fHistogram.
Definition at line 47 of file TGraph2D.h.
|
protected |
!Pointer to histogram painter
Definition at line 61 of file TGraph2D.h.
|
protected |
!Real size of fX, fY and fZ
Definition at line 49 of file TGraph2D.h.
|
private |
Definition at line 67 of file TGraph2D.h.
|
protected |
[fNpoints]
Definition at line 50 of file TGraph2D.h.
|
protected |
[fNpoints] Data set to be plotted
Definition at line 51 of file TGraph2D.h.
|
protected |
[fNpoints]
Definition at line 52 of file TGraph2D.h.
|
protected |
fHistogram bin height for points lying outside the interpolated area
Definition at line 56 of file TGraph2D.h.