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

Graphics object made of three arrays X, Y and Z with the same number of points each.

This class has different constructors:

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:

TGraph2D *g = new TGraph2D();
[...]
g->Draw("tri1");
gPad->Update();
g->GetXaxis()->SetTitle("X axis title");
#define gPad

Example:

{
TCanvas *c = new TCanvas("c","Graph2D example",0,0,600,400);
Double_t x, y, z, P = 6.;
Int_t np = 200;
TGraph2D *dt = new TGraph2D();
dt->SetTitle("Graph title; X axis title; Y axis title; Z axis title");
TRandom *r = new TRandom();
for (Int_t N=0; N<np; N++) {
x = 2*P*(r->Rndm(N))-P;
y = 2*P*(r->Rndm(N))-P;
z = (sin(x)/x)*(sin(y)/y)+0.2;
dt->SetPoint(N,x,y,z);
}
dt->Draw("surf1");
return c;
}
ROOT::R::TRInterface & r
Definition Object.C:4
#define c(i)
Definition RSha256.hxx:101
double Double_t
Definition RtypesCore.h:59
#define N
double sin(double)
R__EXTERN TStyle * gStyle
Definition TStyle.h:412
The Canvas class.
Definition TCanvas.h:23
virtual void SetTitle(const char *title="")
Sets the 2D graph title.
virtual void SetPoint(Int_t point, Double_t x, Double_t y, Double_t z)
Sets point number n.
virtual void Draw(Option_t *option="P0")
Specific drawing options can be used to paint a TGraph2D:
Definition TGraph2D.cxx:712
This is the base class for the ROOT Random number generators.
Definition TRandom.h:27
void SetPalette(Int_t ncolors=kBird, Int_t *colors=0, Float_t alpha=1.)
See TColor::SetPalette.
Definition TStyle.cxx:1782

2D graphs can be fitted as shown by the following example:

#include <TMath.h>
#include <TGraph2D.h>
#include <TRandom.h>
#include <TStyle.h>
#include <TCanvas.h>
#include <TF2.h>
#include <TH1.h>
TCanvas* graph2dfit()
{
TCanvas *c = new TCanvas("c","Graph2D example",0,0,600,800);
c->Divide(2,3);
Double_t rnd, x, y, z;
Double_t e = 0.3;
Int_t nd = 400;
Int_t np = 10000;
Double_t fl = 6;
TF2 *f2 = new TF2("f2","1000*(([0]*sin(x)/x)*([1]*sin(y)/y))+200",
-fl,fl,-fl,fl);
f2->SetParameters(1,1);
TGraph2D *dt = new TGraph2D();
// Fill the 2D graph
Double_t zmax = 0;
for (Int_t N=0; N<nd; N++) {
f2->GetRandom2(x,y);
// Generate a random number in [-e,e]
rnd = 2*r.Rndm()*e-e;
z = f2->Eval(x,y)*(1+rnd);
if (z>zmax) zmax = z;
dt->SetPoint(N,x,y,z);
}
Double_t hr = 350;
TH1D *h1 = new TH1D("h1",
"#splitline{Difference between Original}{#splitline{function and Function}{with noise}}",
100, -hr, hr);
TH1D *h2 = new TH1D("h2",
"#splitline{Difference between Original}{#splitline{function and Delaunay triangles}{interpolation}}",
100, -hr, hr);
TH1D *h3 = new TH1D("h3",
"#splitline{Difference between Original}{function and Minuit fit}",
500, -hr, hr);
f2->SetParameters(0.5,1.5);
dt->Fit(f2);
TF2 *fit2 = (TF2*)dt->FindObject("f2");
f2->SetParameters(1,1);
for (Int_t N=0; N<np; N++) {
f2->GetRandom2(x,y);
// Generate a random number in [-e,e]
rnd = 2*r.Rndm()*e-e;
z = f2->Eval(x,y)*(1+rnd);
h1->Fill(f2->Eval(x,y)-z);
z = dt->Interpolate(x,y);
h2->Fill(f2->Eval(x,y)-z);
z = fit2->Eval(x,y);
h3->Fill(f2->Eval(x,y)-z);
}
c->cd(1);
f2->SetTitle("Original function with Graph2D points on top");
f2->SetMaximum(zmax);
f2->Draw("surf1");
dt->Draw("same p0");
c->cd(3);
dt->SetMargin(0.1);
dt->SetFillColor(36);
dt->SetTitle("Histogram produced with Delaunay interpolation");
dt->Draw("surf4");
c->cd(5);
fit2->SetTitle("Minuit fit result on the Graph2D points");
fit2->Draw("surf1");
h2->SetFillColor(38);
h3->SetFillColor(29);
c->cd(2); h1->Fit("gaus","Q") ; h1->Draw();
c->cd(4); h2->Fit("gaus","Q") ; h2->Draw();
c->cd(6); h3->Fit("gaus","Q") ; h3->Draw();
c->cd();
return c;
}
#define e(i)
Definition RSha256.hxx:103
int Int_t
Definition RtypesCore.h:45
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition TAttFill.h:37
virtual void SetMaximum(Double_t maximum=-1111)
Set the maximum value along Y for this function In case the function is already drawn,...
Definition TF1.cxx:3407
virtual void SetTitle(const char *title="")
Set function title if title has the form "fffffff;xxxx;yyyy", it is assumed that the function title i...
Definition TF1.cxx:3562
virtual void SetParameters(const Double_t *params)
Definition TF1.h:644
virtual Double_t Eval(Double_t x, Double_t y=0, Double_t z=0, Double_t t=0) const
Evaluate this function.
Definition TF1.cxx:1434
A 2-Dim function with parameters.
Definition TF2.h:29
virtual void GetRandom2(Double_t &xrandom, Double_t &yrandom, TRandom *rng=nullptr)
Return 2 random numbers following this function shape.
Definition TF2.cxx:529
virtual void Draw(Option_t *option="")
Draw this function with its current attributes.
Definition TF2.cxx:241
Double_t Interpolate(Double_t x, Double_t y)
Finds the z value at the position (x,y) thanks to the Delaunay interpolation.
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 au...
Definition TGraph2D.cxx:765
virtual TObject * FindObject(const char *name) const
search object named name in the list of functions
Definition TGraph2D.cxx:741
void SetMargin(Double_t m=0.1)
Sets the extra space (in %) around interpolated area for the 2D histogram.
1-D histogram with a double per channel (see TH1 documentation)}
Definition TH1.h:618
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Double_t xmin=0, Double_t xmax=0)
Fit histogram with function fname.
Definition TH1.cxx:3892
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
Definition TH1.cxx:3350
virtual void Draw(Option_t *option="")
Draw this histogram with options.
Definition TH1.cxx:3073
void SetOptStat(Int_t stat=1)
The type of information printed in the histogram statistics box can be selected via the parameter mod...
Definition TStyle.cxx:1589
void SetHistTopMargin(Double_t hmax=0.05)
Definition TStyle.h:368
void SetOptFit(Int_t fit=1)
The type of information about fit parameters printed in the histogram statistics box can be selected ...
Definition TStyle.cxx:1541
TH1F * h1
Definition legend1.C:5

Example showing the PCOL option.

{
TCanvas *c1 = new TCanvas("c1","Graph2D example",0,0,600,400);
Double_t P = 5.;
Int_t npx = 20 ;
Int_t npy = 20 ;
Double_t x = -P;
Double_t y = -P;
Int_t k = 0;
Double_t dx = (2*P)/npx;
Double_t dy = (2*P)/npy;
TGraph2D *dt = new TGraph2D(npx*npy);
dt->SetNpy(41);
dt->SetNpx(40);
for (Int_t i=0; i<npx; i++) {
for (Int_t j=0; j<npy; j++) {
z = sin(sqrt(x*x+y*y))+1;
dt->SetPoint(k,x,y,z);
k++;
y = y+dy;
}
x = x+dx;
y = -P;
}
dt->SetMarkerStyle(20);
dt->Draw("pcol");
return c1;
}
double sqrt(double)
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
Definition TAttMarker.h:40
void SetNpy(Int_t npx=40)
Sets the number of bins along Y used to draw the function.
void SetNpx(Int_t npx=40)
Sets the number of bins along X used to draw the function.
return c1
Definition legend1.C:41

Definition of Delaunay triangulation (After B. Delaunay)

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 TObjectFindObject (const char *name) const
 search object named name in the list of functions
 
virtual TObjectFindObject (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.
 
TListGetContourList (Double_t contour)
 Returns the X and Y graphs building a contour.
 
TDirectoryGetDirectory () 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_tGetEX () const
 
virtual Double_tGetEY () const
 
virtual Double_tGetEZ () const
 
TH2DGetHistogram (Option_t *option="")
 By default returns a pointer to the Delaunay histogram.
 
TListGetListOfFunctions () 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_tGetX () const
 
TAxisGetXaxis () 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_tGetY () const
 
TAxisGetYaxis () 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_tGetZ () const
 
TAxisGetZaxis () 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.
 
TGraph2Doperator= (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.
 
TH1Project (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 TObjectClone (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.
 
TNamedoperator= (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 TObjectDrawClone (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_tGetDrawOption () const
 Get option used by the graphics system to draw this object.
 
virtual const char * GetIconName () const
 Returns mime type name of object.
 
virtual char * GetObjectInfo (Int_t px, Int_t py) const
 Returns string containing info about the object at position (px,py).
 
virtual Option_tGetOption () const
 
virtual UInt_t GetUniqueID () const
 Return the unique object id.
 
virtual Bool_t HandleTimer (TTimer *timer)
 Execute action in response of a timer timing out.
 
Bool_t HasInconsistentHash () const
 Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e.
 
virtual void Info (const char *method, const char *msgfmt,...) const
 Issue info message.
 
virtual Bool_t InheritsFrom (const char *classname) const
 Returns kTRUE if object inherits from class "classname".
 
virtual Bool_t InheritsFrom (const TClass *cl) const
 Returns kTRUE if object inherits from TClass cl.
 
virtual void Inspect () const
 Dump contents of this object in a graphics canvas.
 
void InvertBit (UInt_t f)
 
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 [].
 
voidoperator new (size_t sz)
 
voidoperator new (size_t sz, void *vp)
 
voidoperator new[] (size_t sz)
 
voidoperator new[] (size_t sz, void *vp)
 
TObjectoperator= (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

TObjectfDelaunay
 ! Pointer to Delaunay interpolator object
 
TDirectoryfDirectory
 !Pointer to directory holding this 2D graph
 
TListfFunctions
 Pointer to list of functions (fits and user)
 
TH2DfHistogram
 !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.
 
TVirtualHistPainterfPainter
 !Pointer to histogram painter
 
Int_t fSize
 !Real size of fX, fY and fZ
 
Double_tfX
 [fNpoints]
 
Double_tfY
 [fNpoints] Data set to be plotted
 
Double_tfZ
 [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>

Inheritance diagram for TGraph2D:
[legend]

Member Enumeration Documentation

◆ EStatusBits

enum TGraph2D::EStatusBits
private
Enumerator
kOldInterpolation 

Definition at line 69 of file TGraph2D.h.

Constructor & Destructor Documentation

◆ TGraph2D() [1/9]

TGraph2D::TGraph2D ( )

Graph2D default constructor.

Definition at line 212 of file TGraph2D.cxx.

◆ TGraph2D() [2/9]

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.

◆ TGraph2D() [3/9]

TGraph2D::TGraph2D ( Int_t  n,
Int_t x,
Int_t y,
Int_t z 
)

Graph2D constructor with three vectors of ints as input.

Definition at line 239 of file TGraph2D.cxx.

◆ TGraph2D() [4/9]

TGraph2D::TGraph2D ( Int_t  n,
Float_t x,
Float_t y,
Float_t z 
)

Graph2D constructor with three vectors of floats as input.

Definition at line 257 of file TGraph2D.cxx.

◆ TGraph2D() [5/9]

TGraph2D::TGraph2D ( Int_t  n,
Double_t x,
Double_t y,
Double_t z 
)

Graph2D constructor with three vectors of doubles as input.

Definition at line 275 of file TGraph2D.cxx.

◆ TGraph2D() [6/9]

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() [7/9]

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() [8/9]

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() [9/9]

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.

◆ ~TGraph2D()

TGraph2D::~TGraph2D ( )
virtual

TGraph2D destructor.

Definition at line 530 of file TGraph2D.cxx.

Member Function Documentation

◆ AddPoint()

virtual void TGraph2D::AddPoint ( Double_t  x,
Double_t  y,
Double_t  z 
)
inlinevirtual

Append a new point to the graph.

Definition at line 93 of file TGraph2D.h.

◆ Browse()

void TGraph2D::Browse ( TBrowser )
virtual

Browse.

Reimplemented from TObject.

Definition at line 621 of file TGraph2D.cxx.

◆ Build()

void TGraph2D::Build ( Int_t  n)
protected

Creates the 2D graph basic data structure.

Definition at line 584 of file TGraph2D.cxx.

◆ Clear()

void TGraph2D::Clear ( Option_t option = "")
virtual

Free all memory allocated by this object.

Reimplemented from TNamed.

Definition at line 631 of file TGraph2D.cxx.

◆ CreateInterpolator()

void TGraph2D::CreateInterpolator ( Bool_t  oldInterp)
private

Add a TGraphDelaunay in the list of the fHistogram's functions.

Definition at line 1046 of file TGraph2D.cxx.

◆ DirectoryAutoAdd()

void TGraph2D::DirectoryAutoAdd ( TDirectory dir)
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.

◆ DistancetoPrimitive()

Int_t TGraph2D::DistancetoPrimitive ( Int_t  px,
Int_t  py 
)
virtual

Computes distance from point px,py to a graph.

Reimplemented from TObject.

Definition at line 680 of file TGraph2D.cxx.

◆ Draw()

void TGraph2D::Draw ( Option_t option = "P0")
virtual

Specific drawing options can be used to paint a TGraph2D:

  • "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.
  • "CONT" : Draw contours
  • "LINE" : Draw a 3D polyline

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.

◆ ExecuteEvent()

void TGraph2D::ExecuteEvent ( Int_t  event,
Int_t  px,
Int_t  py 
)
virtual

Executes action corresponding to one event.

Reimplemented from TObject.

Definition at line 732 of file TGraph2D.cxx.

◆ FindObject() [1/2]

TObject * TGraph2D::FindObject ( const char *  name) const
virtual

search object named name in the list of functions

Reimplemented from TObject.

Definition at line 741 of file TGraph2D.cxx.

◆ FindObject() [2/2]

TObject * TGraph2D::FindObject ( const TObject obj) const
virtual

search object obj in the list of functions

Reimplemented from TObject.

Definition at line 751 of file TGraph2D.cxx.

◆ Fit() [1/2]

TFitResultPtr TGraph2D::Fit ( const char *  fname,
Option_t option = "",
Option_t goption = "" 
)
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.

◆ Fit() [2/2]

TFitResultPtr TGraph2D::Fit ( TF2 f2,
Option_t option = "",
Option_t goption = "" 
)
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:

TF2 *f2 = new TF2("f2","gaus",1,3);
graph2d->Fit("f2","R");

Setting initial conditions

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

f2->SetParLimits(p_number, parmin, parmax);
virtual void SetParLimits(Int_t ipar, Double_t parmin, Double_t parmax)
Set limits for parameter ipar.
Definition TF1.cxx:3511

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.

Fit range

The fit range can be specified in two ways:

  • specify rxmax > rxmin (default is rxmin=rxmax=0)
  • specify the option "R". In this case, the function will be taken instead of the full graph range.

Changing the fitting function

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:

TVirtualFitter::Fitter(mygraph)->SetFCN(MyFittingFunction)
virtual void SetFCN(void(*fcn)(Int_t &, Double_t *, Double_t &f, Double_t *, Int_t))
To set the address of the minimization objective function called by the native compiler (see function...
static TVirtualFitter * Fitter(TObject *obj, Int_t maxpar=25)
Static function returning a pointer to the current fitter.

where MyFittingFunction is of type:

extern void MyFittingFunction(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag);
#define f(i)
Definition RSha256.hxx:104

Associated functions

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");

Access to the fit results

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:

TFitResultPtr r = graph->Fit("myFunc","S");
TMatrixDSym cov = r->GetCovarianceMatrix(); // to access the covariance matrix
Double_t par0 = r->Value(0); // retrieve the value for the parameter 0
Double_t err0 = r->Error(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
Provides an indirection to the TFitResult class and with a semantics identical to a TFitResult pointe...
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
Definition TObject.cxx:798
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
Definition TObject.cxx:893
virtual void Print(Option_t *option="") const
This method must be overridden when a class wants to print itself.
Definition TObject.cxx:552
Definition graph.py:1

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:

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

Fit Statistics

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
virtual TObject * FindObject(const char *name) const
Must be redefined in derived classes.
Definition TObject.cxx:323
The histogram statistics painter class.
Definition TPaveStats.h:18

Definition at line 920 of file TGraph2D.cxx.

◆ FitPanel()

void TGraph2D::FitPanel ( )
virtual

Display a GUI panel with all graph fit options.

See class TFitEditor for example

Definition at line 939 of file TGraph2D.cxx.

◆ GetContourList()

TList * TGraph2D::GetContourList ( Double_t  contour)

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.

◆ GetDirectory()

TDirectory * TGraph2D::GetDirectory ( ) const
inline

Definition at line 106 of file TGraph2D.h.

◆ GetErrorX()

Double_t TGraph2D::GetErrorX ( Int_t  bin) const
virtual

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.

◆ GetErrorY()

Double_t TGraph2D::GetErrorY ( Int_t  bin) const
virtual

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.

◆ GetErrorZ()

Double_t TGraph2D::GetErrorZ ( Int_t  bin) const
virtual

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.

◆ GetEX()

virtual Double_t * TGraph2D::GetEX ( ) const
inlinevirtual

Reimplemented in TGraph2DErrors.

Definition at line 124 of file TGraph2D.h.

◆ GetEY()

virtual Double_t * TGraph2D::GetEY ( ) const
inlinevirtual

Reimplemented in TGraph2DErrors.

Definition at line 125 of file TGraph2D.h.

◆ GetEZ()

virtual Double_t * TGraph2D::GetEZ ( ) const
inlinevirtual

Reimplemented in TGraph2DErrors.

Definition at line 126 of file TGraph2D.h.

◆ GetHistogram()

TH2D * TGraph2D::GetHistogram ( Option_t option = "")

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.

◆ GetListOfFunctions()

TList * TGraph2D::GetListOfFunctions ( ) const
inline

Definition at line 110 of file TGraph2D.h.

◆ GetMargin()

Double_t TGraph2D::GetMargin ( ) const
inline

Definition at line 114 of file TGraph2D.h.

◆ GetMaximum()

Double_t TGraph2D::GetMaximum ( ) const
inline

Definition at line 115 of file TGraph2D.h.

◆ GetMinimum()

Double_t TGraph2D::GetMinimum ( ) const
inline

Definition at line 116 of file TGraph2D.h.

◆ GetN()

Int_t TGraph2D::GetN ( ) const
inline

Definition at line 120 of file TGraph2D.h.

◆ GetNpx()

Int_t TGraph2D::GetNpx ( ) const
inline

Definition at line 107 of file TGraph2D.h.

◆ GetNpy()

Int_t TGraph2D::GetNpy ( ) const
inline

Definition at line 108 of file TGraph2D.h.

◆ GetPoint()

Int_t TGraph2D::GetPoint ( Int_t  i,
Double_t x,
Double_t y,
Double_t z 
) const
virtual

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.

◆ GetX()

Double_t * TGraph2D::GetX ( ) const
inline

Definition at line 121 of file TGraph2D.h.

◆ GetXaxis()

TAxis * TGraph2D::GetXaxis ( ) const

Get x axis of the graph.

Definition at line 963 of file TGraph2D.cxx.

◆ GetXmax()

Double_t TGraph2D::GetXmax ( ) const

Returns the X maximum.

Definition at line 1222 of file TGraph2D.cxx.

◆ GetXmaxE()

virtual Double_t TGraph2D::GetXmaxE ( ) const
inlinevirtual

Reimplemented in TGraph2DErrors.

Definition at line 133 of file TGraph2D.h.

◆ GetXmin()

Double_t TGraph2D::GetXmin ( ) const

Returns the X minimum.

Definition at line 1233 of file TGraph2D.cxx.

◆ GetXminE()

virtual Double_t TGraph2D::GetXminE ( ) const
inlinevirtual

Reimplemented in TGraph2DErrors.

Definition at line 134 of file TGraph2D.h.

◆ GetY()

Double_t * TGraph2D::GetY ( ) const
inline

Definition at line 122 of file TGraph2D.h.

◆ GetYaxis()

TAxis * TGraph2D::GetYaxis ( ) const

Get y axis of the graph.

Definition at line 974 of file TGraph2D.cxx.

◆ GetYmax()

Double_t TGraph2D::GetYmax ( ) const

Returns the Y maximum.

Definition at line 1244 of file TGraph2D.cxx.

◆ GetYmaxE()

virtual Double_t TGraph2D::GetYmaxE ( ) const
inlinevirtual

Reimplemented in TGraph2DErrors.

Definition at line 135 of file TGraph2D.h.

◆ GetYmin()

Double_t TGraph2D::GetYmin ( ) const

Returns the Y minimum.

Definition at line 1255 of file TGraph2D.cxx.

◆ GetYminE()

virtual Double_t TGraph2D::GetYminE ( ) const
inlinevirtual

Reimplemented in TGraph2DErrors.

Definition at line 136 of file TGraph2D.h.

◆ GetZ()

Double_t * TGraph2D::GetZ ( ) const
inline

Definition at line 123 of file TGraph2D.h.

◆ GetZaxis()

TAxis * TGraph2D::GetZaxis ( ) const

Get z axis of the graph.

Definition at line 985 of file TGraph2D.cxx.

◆ GetZmax()

Double_t TGraph2D::GetZmax ( ) const

Returns the Z maximum.

Definition at line 1266 of file TGraph2D.cxx.

◆ GetZmaxE()

virtual Double_t TGraph2D::GetZmaxE ( ) const
inlinevirtual

Reimplemented in TGraph2DErrors.

Definition at line 137 of file TGraph2D.h.

◆ GetZmin()

Double_t TGraph2D::GetZmin ( ) const

Returns the Z minimum.

Definition at line 1277 of file TGraph2D.cxx.

◆ GetZminE()

virtual Double_t TGraph2D::GetZminE ( ) const
inlinevirtual

Reimplemented in TGraph2DErrors.

Definition at line 138 of file TGraph2D.h.

◆ Interpolate()

Double_t TGraph2D::Interpolate ( Double_t  x,
Double_t  y 
)

Finds the z value at the position (x,y) thanks to the Delaunay interpolation.

Definition at line 1302 of file TGraph2D.cxx.

◆ operator=()

TGraph2D & TGraph2D::operator= ( const TGraph2D g)

Graph2D operator "=".

Definition at line 539 of file TGraph2D.cxx.

◆ Paint()

void TGraph2D::Paint ( Option_t option = "")
virtual

Paints this 2D graph with its current attributes.

Reimplemented from TObject.

Definition at line 1339 of file TGraph2D.cxx.

◆ Print()

void TGraph2D::Print ( Option_t chopt = "") const
virtual

Print 2D graph values.

Reimplemented from TNamed.

Reimplemented in TGraph2DErrors.

Definition at line 1381 of file TGraph2D.cxx.

◆ Project()

TH1 * TGraph2D::Project ( Option_t option = "x") const

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:

  • option = "x" return the x projection into a TH1D histogram
  • option = "y" return the y projection into a TH1D histogram
  • option = "xy" return the x versus y projection into a TH2D histogram
  • option = "yx" return the y versus x projection into a TH2D histogram

Definition at line 1398 of file TGraph2D.cxx.

◆ RemovePoint()

Int_t TGraph2D::RemovePoint ( Int_t  ipoint)

Deletes point number ipoint.

Definition at line 1485 of file TGraph2D.cxx.

◆ SavePrimitive()

void TGraph2D::SavePrimitive ( std::ostream &  out,
Option_t option = "" 
)
virtual

Saves primitive as a C++ statement(s) on output stream out.

Reimplemented from TObject.

Definition at line 1521 of file TGraph2D.cxx.

◆ Set()

void TGraph2D::Set ( Int_t  n)
virtual

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.

◆ SetDirectory()

void TGraph2D::SetDirectory ( TDirectory dir)
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.

◆ SetHistogram()

void TGraph2D::SetHistogram ( TH2 h)
virtual

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:

  1. Create TGraph2D
  2. Call g->SetHistogram(h), and do whatever you need to do
  3. Save g and h to the TFile, exit
  4. Open the TFile, retrieve g and h
  5. Call h->SetDirectory(0)
  6. Call g->SetHistogram(h) again
  7. Carry on as normal

Definition at line 1610 of file TGraph2D.cxx.

◆ SetMargin()

void TGraph2D::SetMargin ( Double_t  m = 0.1)

Sets the extra space (in %) around interpolated area for the 2D histogram.

Definition at line 1623 of file TGraph2D.cxx.

◆ SetMarginBinsContent()

void TGraph2D::SetMarginBinsContent ( Double_t  z = 0.)

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.

◆ SetMaximum()

void TGraph2D::SetMaximum ( Double_t  maximum = -1111)

Set maximum.

Definition at line 1657 of file TGraph2D.cxx.

◆ SetMaxIter()

void TGraph2D::SetMaxIter ( Int_t  n = 100000)
inline

Definition at line 153 of file TGraph2D.h.

◆ SetMinimum()

void TGraph2D::SetMinimum ( Double_t  minimum = -1111)

Set minimum.

Definition at line 1668 of file TGraph2D.cxx.

◆ SetName()

void TGraph2D::SetName ( const char *  name)
virtual

Changes the name of this 2D graph.

Reimplemented from TNamed.

Definition at line 1679 of file TGraph2D.cxx.

◆ SetNameTitle()

void TGraph2D::SetNameTitle ( const char *  name,
const char *  title 
)
virtual

Change the name and title of this 2D graph.

Reimplemented from TNamed.

Definition at line 1693 of file TGraph2D.cxx.

◆ SetNpx()

void TGraph2D::SetNpx ( Int_t  npx = 40)

Sets the number of bins along X used to draw the function.

Definition at line 1707 of file TGraph2D.cxx.

◆ SetNpy()

void TGraph2D::SetNpy ( Int_t  npx = 40)

Sets the number of bins along Y used to draw the function.

Definition at line 1729 of file TGraph2D.cxx.

◆ SetPoint()

void TGraph2D::SetPoint ( Int_t  n,
Double_t  x,
Double_t  y,
Double_t  z 
)
virtual

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.

◆ SetTitle()

void TGraph2D::SetTitle ( const char *  title = "")
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:

g->SetTitle("Graph title; X axis title; Y axis title; Z axis title");

Reimplemented from TNamed.

Definition at line 1800 of file TGraph2D.cxx.

Member Data Documentation

◆ fDelaunay

TObject* TGraph2D::fDelaunay
protected

! Pointer to Delaunay interpolator object

Definition at line 59 of file TGraph2D.h.

◆ fDirectory

TDirectory* TGraph2D::fDirectory
protected

!Pointer to directory holding this 2D graph

Definition at line 60 of file TGraph2D.h.

◆ fFunctions

TList* TGraph2D::fFunctions
protected

Pointer to list of functions (fits and user)

Definition at line 57 of file TGraph2D.h.

◆ fHistogram

TH2D* TGraph2D::fHistogram
protected

!2D histogram of z values linearly interpolated on the triangles

Definition at line 58 of file TGraph2D.h.

◆ fMargin

Double_t TGraph2D::fMargin
protected

Extra space (in %) around interpolated area for fHistogram.

Definition at line 55 of file TGraph2D.h.

◆ fMaximum

Double_t TGraph2D::fMaximum
protected

Maximum value for plotting along z.

Definition at line 54 of file TGraph2D.h.

◆ fMaxIter

Int_t TGraph2D::fMaxIter
protected

Maximum number of iterations to find Delaunay triangles.

Definition at line 48 of file TGraph2D.h.

◆ fMinimum

Double_t TGraph2D::fMinimum
protected

Minimum value for plotting along z.

Definition at line 53 of file TGraph2D.h.

◆ fNpoints

Int_t TGraph2D::fNpoints
protected

Number of points in the data set.

Definition at line 45 of file TGraph2D.h.

◆ fNpx

Int_t TGraph2D::fNpx
protected

Number of bins along X in fHistogram.

Definition at line 46 of file TGraph2D.h.

◆ fNpy

Int_t TGraph2D::fNpy
protected

Number of bins along Y in fHistogram.

Definition at line 47 of file TGraph2D.h.

◆ fPainter

TVirtualHistPainter* TGraph2D::fPainter
protected

!Pointer to histogram painter

Definition at line 61 of file TGraph2D.h.

◆ fSize

Int_t TGraph2D::fSize
protected

!Real size of fX, fY and fZ

Definition at line 49 of file TGraph2D.h.

◆ fUserHisto

Bool_t TGraph2D::fUserHisto
private

Definition at line 67 of file TGraph2D.h.

◆ fX

Double_t* TGraph2D::fX
protected

[fNpoints]

Definition at line 50 of file TGraph2D.h.

◆ fY

Double_t* TGraph2D::fY
protected

[fNpoints] Data set to be plotted

Definition at line 51 of file TGraph2D.h.

◆ fZ

Double_t* TGraph2D::fZ
protected

[fNpoints]

Definition at line 52 of file TGraph2D.h.

◆ fZout

Double_t TGraph2D::fZout
protected

fHistogram bin height for points lying outside the interpolated area

Definition at line 56 of file TGraph2D.h.

Libraries for TGraph2D:

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