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 40 of file TGraph2D.h.
Public Member Functions | |
TGraph2D () | |
Graph2D default constructor. More... | |
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. More... | |
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. More... | |
TGraph2D (const TGraph2D &) | |
Graph2D copy constructor. More... | |
TGraph2D (Int_t n) | |
Graph2D constructor. More... | |
TGraph2D (Int_t n, Double_t *x, Double_t *y, Double_t *z) | |
Graph2D constructor with three vectors of doubles as input. More... | |
TGraph2D (Int_t n, Float_t *x, Float_t *y, Float_t *z) | |
Graph2D constructor with three vectors of floats as input. More... | |
TGraph2D (Int_t n, Int_t *x, Int_t *y, Int_t *z) | |
Graph2D constructor with three vectors of ints as input. More... | |
TGraph2D (TH2 *h2) | |
Graph2D constructor with a TH2 (h2) as input. More... | |
virtual | ~TGraph2D () |
TGraph2D destructor. More... | |
virtual void | Browse (TBrowser *) |
Browse. More... | |
virtual void | Clear (Option_t *option="") |
Free all memory allocated by this object. More... | |
virtual void | DirectoryAutoAdd (TDirectory *) |
Perform the automatic addition of the graph to the given directory. More... | |
Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point px,py to a graph. More... | |
virtual void | Draw (Option_t *option="P0") |
Specific drawing options can be used to paint a TGraph2D: More... | |
void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Executes action corresponding to one event. More... | |
virtual TObject * | FindObject (const char *name) const |
search object named name in the list of functions More... | |
virtual TObject * | FindObject (const TObject *obj) const |
search object obj in the list of functions More... | |
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. More... | |
virtual TFitResultPtr | Fit (TF2 *f2, Option_t *option="", Option_t *goption="") |
Fits this 2D graph with function f2. More... | |
virtual void | FitPanel () |
Display a GUI panel with all graph fit options. More... | |
TList * | GetContourList (Double_t contour) |
Returns the X and Y graphs building a contour. More... | |
TDirectory * | GetDirectory () const |
virtual Double_t | GetErrorX (Int_t bin) const |
This function is called by Graph2DFitChisquare. More... | |
virtual Double_t | GetErrorY (Int_t bin) const |
This function is called by Graph2DFitChisquare. More... | |
virtual Double_t | GetErrorZ (Int_t bin) const |
This function is called by Graph2DFitChisquare. More... | |
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. More... | |
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. More... | |
Double_t * | GetX () const |
TAxis * | GetXaxis () const |
Get x axis of the graph. More... | |
Double_t | GetXmax () const |
Returns the X maximum. More... | |
virtual Double_t | GetXmaxE () const |
Double_t | GetXmin () const |
Returns the X minimum. More... | |
virtual Double_t | GetXminE () const |
Double_t * | GetY () const |
TAxis * | GetYaxis () const |
Get y axis of the graph. More... | |
Double_t | GetYmax () const |
Returns the Y maximum. More... | |
virtual Double_t | GetYmaxE () const |
Double_t | GetYmin () const |
Returns the Y minimum. More... | |
virtual Double_t | GetYminE () const |
Double_t * | GetZ () const |
TAxis * | GetZaxis () const |
Get z axis of the graph. More... | |
Double_t | GetZmax () const |
Returns the Z maximum. More... | |
virtual Double_t | GetZmaxE () const |
Double_t | GetZmin () const |
Returns the Z minimum. More... | |
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. More... | |
TGraph2D & | operator= (const TGraph2D &) |
Graph2D operator "=". More... | |
void | Paint (Option_t *option="") |
Paints this 2D graph with its current attributes. More... | |
virtual void | Print (Option_t *chopt="") const |
Print 2D graph values. More... | |
TH1 * | Project (Option_t *option="x") const |
Projects a 2-d graph into 1 or 2-d histograms depending on the option parameter. More... | |
Int_t | RemovePoint (Int_t ipoint) |
Deletes point number ipoint. More... | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Saves primitive as a C++ statement(s) on output stream out. More... | |
virtual void | Set (Int_t n) |
Set number of points in the 2D graph. More... | |
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. More... | |
virtual void | SetHistogram (TH2 *h) |
Sets the histogram to be filled. More... | |
void | SetMargin (Double_t m=0.1) |
Sets the extra space (in %) around interpolated area for the 2D histogram. More... | |
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. More... | |
void | SetMaximum (Double_t maximum=-1111) |
Set maximum. More... | |
void | SetMaxIter (Int_t n=100000) |
void | SetMinimum (Double_t minimum=-1111) |
Set minimum. More... | |
virtual void | SetName (const char *name) |
Changes the name of this 2D graph. More... | |
virtual void | SetNameTitle (const char *name, const char *title) |
Change the name and title of this 2D graph. More... | |
void | SetNpx (Int_t npx=40) |
Sets the number of bins along X used to draw the function. More... | |
void | SetNpy (Int_t npx=40) |
Sets the number of bins along Y used to draw the function. More... | |
virtual void | SetPoint (Int_t point, Double_t x, Double_t y, Double_t z) |
Sets point number n. More... | |
virtual void | SetTitle (const char *title="") |
Sets the 2D graph title. More... | |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed copy ctor. More... | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
TNamed destructor. More... | |
virtual void | Clear (Option_t *option="") |
Set name and title to empty strings (""). More... | |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. More... | |
virtual Int_t | Compare (const TObject *obj) const |
Compare two TNamed objects. More... | |
virtual void | Copy (TObject &named) const |
Copy this to obj. More... | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. More... | |
virtual const char * | GetName () const |
Returns name of object. More... | |
virtual const char * | GetTitle () const |
Returns title of object. More... | |
virtual ULong_t | Hash () const |
Return hash value for this object. More... | |
virtual Bool_t | IsSortable () const |
virtual void | ls (Option_t *option="") const |
List TNamed name and title. More... | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. More... | |
virtual void | Print (Option_t *option="") const |
Print TNamed name and title. More... | |
virtual void | SetName (const char *name) |
Set the name of the TNamed. More... | |
virtual void | SetNameTitle (const char *name, const char *title) |
Set all the TNamed parameters (name and title). More... | |
virtual void | SetTitle (const char *title="") |
Set the title of the TNamed. More... | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. More... | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. More... | |
TObject (const TObject &object) | |
TObject copy ctor. More... | |
virtual | ~TObject () |
TObject destructor. More... | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. More... | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. More... | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. More... | |
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. More... | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. More... | |
virtual void | Clear (Option_t *="") |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. More... | |
virtual Int_t | Compare (const TObject *obj) const |
Compare abstract method. More... | |
virtual void | Copy (TObject &object) const |
Copy this to obj. More... | |
virtual void | Delete (Option_t *option="") |
Delete this object. More... | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. More... | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. More... | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. More... | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad) . More... | |
virtual void | Dump () const |
Dump contents of object on stdout. More... | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. More... | |
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. More... | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
Execute method on this object with parameters stored in the TObjArray. More... | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). More... | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. More... | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. More... | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. More... | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. More... | |
virtual const char * | GetIconName () const |
Returns mime type name of object. More... | |
virtual const char * | GetName () const |
Returns name of object. More... | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). More... | |
virtual Option_t * | GetOption () const |
virtual const char * | GetTitle () const |
Returns title of object. More... | |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. More... | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. More... | |
virtual ULong_t | Hash () const |
Return hash value for this object. More... | |
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. More... | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. More... | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". More... | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. More... | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. More... | |
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). More... | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More... | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
virtual Bool_t | IsSortable () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
virtual void | ls (Option_t *option="") const |
The ls function lists the contents of a class on stdout. More... | |
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). More... | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. More... | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. More... | |
void | operator delete (void *ptr) |
Operator delete. More... | |
void | operator delete[] (void *ptr) |
Operator delete []. More... | |
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. More... | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. More... | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. More... | |
virtual void | Print (Option_t *option="") const |
This method must be overridden when a class wants to print itself. More... | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. More... | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. More... | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. More... | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". More... | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. More... | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. More... | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. More... | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. More... | |
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. More... | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. More... | |
Public Member Functions inherited from TAttLine | |
TAttLine () | |
AttLine default constructor. More... | |
TAttLine (Color_t lcolor, Style_t lstyle, Width_t lwidth) | |
AttLine normal constructor. More... | |
virtual | ~TAttLine () |
AttLine destructor. More... | |
void | Copy (TAttLine &attline) const |
Copy this line attributes to a new TAttLine. More... | |
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. More... | |
virtual Color_t | GetLineColor () const |
Return the line color. More... | |
virtual Style_t | GetLineStyle () const |
Return the line style. More... | |
virtual Width_t | GetLineWidth () const |
Return the line width. More... | |
virtual void | Modify () |
Change current line attributes if necessary. More... | |
virtual void | ResetAttLine (Option_t *option="") |
Reset this line attributes to default values. More... | |
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. More... | |
virtual void | SetLineAttributes () |
Invoke the DialogCanvas Line attributes. More... | |
virtual void | SetLineColor (Color_t lcolor) |
Set the line color. More... | |
virtual void | SetLineColorAlpha (Color_t lcolor, Float_t lalpha) |
Set a transparent line color. More... | |
virtual void | SetLineStyle (Style_t lstyle) |
Set the line style. More... | |
virtual void | SetLineWidth (Width_t lwidth) |
Set the line width. More... | |
Public Member Functions inherited from TAttFill | |
TAttFill () | |
AttFill default constructor. More... | |
TAttFill (Color_t fcolor, Style_t fstyle) | |
AttFill normal constructor. More... | |
virtual | ~TAttFill () |
AttFill destructor. More... | |
void | Copy (TAttFill &attfill) const |
Copy this fill attributes to a new TAttFill. More... | |
virtual Color_t | GetFillColor () const |
Return the fill area color. More... | |
virtual Style_t | GetFillStyle () const |
Return the fill area style. More... | |
virtual Bool_t | IsTransparent () const |
virtual void | Modify () |
Change current fill area attributes if necessary. More... | |
virtual void | ResetAttFill (Option_t *option="") |
Reset this fill attributes to default values. More... | |
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. More... | |
virtual void | SetFillAttributes () |
Invoke the DialogCanvas Fill attributes. More... | |
virtual void | SetFillColor (Color_t fcolor) |
Set the fill area color. More... | |
virtual void | SetFillColorAlpha (Color_t fcolor, Float_t falpha) |
Set a transparent fill color. More... | |
virtual void | SetFillStyle (Style_t fstyle) |
Set the fill area style. More... | |
Public Member Functions inherited from TAttMarker | |
TAttMarker () | |
TAttMarker default constructor. More... | |
TAttMarker (Color_t color, Style_t style, Size_t msize) | |
TAttMarker normal constructor. More... | |
virtual | ~TAttMarker () |
TAttMarker destructor. More... | |
void | Copy (TAttMarker &attmarker) const |
Copy this marker attributes to a new TAttMarker. More... | |
virtual Color_t | GetMarkerColor () const |
Return the marker color. More... | |
virtual Size_t | GetMarkerSize () const |
Return the marker size. More... | |
virtual Style_t | GetMarkerStyle () const |
Return the marker style. More... | |
virtual void | Modify () |
Change current marker attributes if necessary. More... | |
virtual void | ResetAttMarker (Option_t *toption="") |
Reset this marker attributes to the default values. More... | |
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. More... | |
virtual void | SetMarkerAttributes () |
Invoke the DialogCanvas Marker attributes. More... | |
virtual void | SetMarkerColor (Color_t mcolor=1) |
Set the marker color. More... | |
virtual void | SetMarkerColorAlpha (Color_t mcolor, Float_t malpha) |
Set a transparent marker color. More... | |
virtual void | SetMarkerSize (Size_t msize=1) |
Set the marker size. More... | |
virtual void | SetMarkerStyle (Style_t mstyle=1) |
Set the marker style. More... | |
Protected Member Functions | |
void | Build (Int_t n) |
Creates the 2D graph basic data structure. More... | |
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). More... | |
void | MakeZombie () |
Protected Attributes | |
TObject * | fDelaunay |
! Pointer to Delaunay interpolator object More... | |
TDirectory * | fDirectory |
!Pointer to directory holding this 2D graph More... | |
TList * | fFunctions |
Pointer to list of functions (fits and user) More... | |
TH2D * | fHistogram |
!2D histogram of z values linearly interpolated on the triangles More... | |
Double_t | fMargin |
Extra space (in %) around interpolated area for fHistogram. More... | |
Double_t | fMaximum |
Maximum value for plotting along z. More... | |
Int_t | fMaxIter |
Maximum number of iterations to find Delaunay triangles. More... | |
Double_t | fMinimum |
Minimum value for plotting along z. More... | |
Int_t | fNpoints |
Number of points in the data set. More... | |
Int_t | fNpx |
Number of bins along X in fHistogram. More... | |
Int_t | fNpy |
Number of bins along Y in fHistogram. More... | |
TVirtualHistPainter * | fPainter |
!Pointer to histogram painter More... | |
Int_t | fSize |
!Real size of fX, fY and fZ More... | |
Double_t * | fX |
[fNpoints] More... | |
Double_t * | fY |
[fNpoints] Data set to be plotted More... | |
Double_t * | fZ |
[fNpoints] More... | |
Double_t | fZout |
fHistogram bin height for points lying outside the interpolated area More... | |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
Protected Attributes inherited from TAttLine | |
Color_t | fLineColor |
Line color. More... | |
Style_t | fLineStyle |
Line style. More... | |
Width_t | fLineWidth |
Line width. More... | |
Protected Attributes inherited from TAttFill | |
Color_t | fFillColor |
Fill area color. More... | |
Style_t | fFillStyle |
Fill area style. More... | |
Protected Attributes inherited from TAttMarker | |
Color_t | fMarkerColor |
Marker color. More... | |
Size_t | fMarkerSize |
Marker size. More... | |
Style_t | fMarkerStyle |
Marker style. More... | |
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. More... | |
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. More... | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. More... | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. More... | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. More... | |
#include <TGraph2D.h>
|
private |
Enumerator | |
---|---|
kOldInterpolation |
Definition at line 68 of file TGraph2D.h.
TGraph2D::TGraph2D | ( | ) |
Graph2D default constructor.
Definition at line 207 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 357 of file TGraph2D.cxx.
Graph2D constructor with three vectors of ints as input.
Definition at line 234 of file TGraph2D.cxx.
Graph2D constructor with three vectors of floats as input.
Definition at line 252 of file TGraph2D.cxx.
Graph2D constructor with three vectors of doubles as input.
Definition at line 270 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 290 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 337 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 379 of file TGraph2D.cxx.
TGraph2D::TGraph2D | ( | const TGraph2D & | g | ) |
Graph2D copy constructor.
copy everything apart from the list of contained functions
Definition at line 499 of file TGraph2D.cxx.
|
virtual |
TGraph2D destructor.
Definition at line 525 of file TGraph2D.cxx.
Creates the 2D graph basic data structure.
Definition at line 579 of file TGraph2D.cxx.
Free all memory allocated by this object.
Reimplemented from TNamed.
Definition at line 626 of file TGraph2D.cxx.
Add a TGraphDelaunay in the list of the fHistogram's functions.
Definition at line 1041 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 660 of file TGraph2D.cxx.
Computes distance from point px,py to a graph.
Reimplemented from TObject.
Definition at line 675 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 707 of file TGraph2D.cxx.
Executes action corresponding to one event.
Reimplemented from TObject.
Definition at line 727 of file TGraph2D.cxx.
|
virtual |
search object named name in the list of functions
Reimplemented from TObject.
Definition at line 736 of file TGraph2D.cxx.
search object obj in the list of functions
Reimplemented from TObject.
Definition at line 746 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 760 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" | Set all weights to 1; ignore error bars |
"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 TGraphErrors do not consider errors in the coordinate |
"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 915 of file TGraph2D.cxx.
|
virtual |
Display a GUI panel with all graph fit options.
See class TFitEditor for example
Definition at line 934 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 993 of file TGraph2D.cxx.
|
inline |
Definition at line 104 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 1012 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 1022 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 1032 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 122 of file TGraph2D.h.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 123 of file TGraph2D.h.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 124 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 1076 of file TGraph2D.cxx.
|
inline |
Definition at line 108 of file TGraph2D.h.
|
inline |
Definition at line 112 of file TGraph2D.h.
|
inline |
Definition at line 113 of file TGraph2D.h.
|
inline |
Definition at line 114 of file TGraph2D.h.
|
inline |
Definition at line 118 of file TGraph2D.h.
|
inline |
Definition at line 105 of file TGraph2D.h.
|
inline |
Definition at line 106 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 1286 of file TGraph2D.cxx.
|
inline |
Definition at line 119 of file TGraph2D.h.
TAxis * TGraph2D::GetXaxis | ( | ) | const |
Get x axis of the graph.
Definition at line 958 of file TGraph2D.cxx.
Double_t TGraph2D::GetXmax | ( | ) | const |
Returns the X maximum.
Definition at line 1220 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 131 of file TGraph2D.h.
Double_t TGraph2D::GetXmin | ( | ) | const |
Returns the X minimum.
Definition at line 1231 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 132 of file TGraph2D.h.
|
inline |
Definition at line 120 of file TGraph2D.h.
TAxis * TGraph2D::GetYaxis | ( | ) | const |
Get y axis of the graph.
Definition at line 969 of file TGraph2D.cxx.
Double_t TGraph2D::GetYmax | ( | ) | const |
Returns the Y maximum.
Definition at line 1242 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 133 of file TGraph2D.h.
Double_t TGraph2D::GetYmin | ( | ) | const |
Returns the Y minimum.
Definition at line 1253 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 134 of file TGraph2D.h.
|
inline |
Definition at line 121 of file TGraph2D.h.
TAxis * TGraph2D::GetZaxis | ( | ) | const |
Get z axis of the graph.
Definition at line 980 of file TGraph2D.cxx.
Double_t TGraph2D::GetZmax | ( | ) | const |
Returns the Z maximum.
Definition at line 1264 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 135 of file TGraph2D.h.
Double_t TGraph2D::GetZmin | ( | ) | const |
Returns the Z minimum.
Definition at line 1275 of file TGraph2D.cxx.
|
inlinevirtual |
Reimplemented in TGraph2DErrors.
Definition at line 136 of file TGraph2D.h.
Finds the z value at the position (x,y) thanks to the Delaunay interpolation.
Definition at line 1300 of file TGraph2D.cxx.
Graph2D operator "=".
Definition at line 534 of file TGraph2D.cxx.
Paints this 2D graph with its current attributes.
Reimplemented from TObject.
Definition at line 1337 of file TGraph2D.cxx.
Print 2D graph values.
Reimplemented from TNamed.
Reimplemented in TGraph2DErrors.
Definition at line 1379 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 1396 of file TGraph2D.cxx.
Deletes point number ipoint.
Definition at line 1483 of file TGraph2D.cxx.
Saves primitive as a C++ statement(s) on output stream out.
Reimplemented from TObject.
Definition at line 1519 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 1571 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 1587 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 1608 of file TGraph2D.cxx.
Sets the extra space (in %) around interpolated area for the 2D histogram.
Definition at line 1621 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 1641 of file TGraph2D.cxx.
Set maximum.
Definition at line 1655 of file TGraph2D.cxx.
Definition at line 151 of file TGraph2D.h.
Set minimum.
Definition at line 1666 of file TGraph2D.cxx.
|
virtual |
Changes the name of this 2D graph.
Reimplemented from TNamed.
Definition at line 1677 of file TGraph2D.cxx.
|
virtual |
Change the name and title of this 2D graph.
Reimplemented from TNamed.
Definition at line 1691 of file TGraph2D.cxx.
Sets the number of bins along X used to draw the function.
Definition at line 1705 of file TGraph2D.cxx.
Sets the number of bins along Y used to draw the function.
Definition at line 1727 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 1751 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 1798 of file TGraph2D.cxx.
|
protected |
! Pointer to Delaunay interpolator object
Definition at line 58 of file TGraph2D.h.
|
protected |
!Pointer to directory holding this 2D graph
Definition at line 59 of file TGraph2D.h.
|
protected |
Pointer to list of functions (fits and user)
Definition at line 56 of file TGraph2D.h.
|
protected |
!2D histogram of z values linearly interpolated on the triangles
Definition at line 57 of file TGraph2D.h.
|
protected |
Extra space (in %) around interpolated area for fHistogram.
Definition at line 54 of file TGraph2D.h.
|
protected |
Maximum value for plotting along z.
Definition at line 53 of file TGraph2D.h.
|
protected |
Maximum number of iterations to find Delaunay triangles.
Definition at line 47 of file TGraph2D.h.
|
protected |
Minimum value for plotting along z.
Definition at line 52 of file TGraph2D.h.
|
protected |
Number of points in the data set.
Definition at line 44 of file TGraph2D.h.
|
protected |
Number of bins along X in fHistogram.
Definition at line 45 of file TGraph2D.h.
|
protected |
Number of bins along Y in fHistogram.
Definition at line 46 of file TGraph2D.h.
|
protected |
!Pointer to histogram painter
Definition at line 60 of file TGraph2D.h.
|
protected |
!Real size of fX, fY and fZ
Definition at line 48 of file TGraph2D.h.
|
private |
Definition at line 66 of file TGraph2D.h.
|
protected |
[fNpoints]
Definition at line 49 of file TGraph2D.h.
|
protected |
[fNpoints] Data set to be plotted
Definition at line 50 of file TGraph2D.h.
|
protected |
[fNpoints]
Definition at line 51 of file TGraph2D.h.
|
protected |
fHistogram bin height for points lying outside the interpolated area
Definition at line 55 of file TGraph2D.h.