ROOT » HIST » HIST » TGraphErrors

class TGraphErrors: public TGraph


TGraphErrors class

A TGraphErrors is a TGraph with error bars.

The TGraphErrors painting is performed thanks to the TGraphPainter class. All details about the various painting options are given in this class.

The picture below gives an example:

output of htmldoc/MACRO_TGraphErrors_1.gif
{
   c1 = new TCanvas("c1","A Simple Graph with error bars",200,10,700,500);
   c1->SetFillColor(42);
   c1->SetGrid();
   c1->GetFrame()->SetFillColor(21);
   c1->GetFrame()->SetBorderSize(12);
   const Int_t n = 10;
   Double_t x[n]  = {-0.22, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95};
   Double_t y[n]  = {1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1};
   Double_t ex[n] = {.05,.1,.07,.07,.04,.05,.06,.07,.08,.05};
   Double_t ey[n] = {.8,.7,.6,.5,.4,.4,.5,.6,.7,.8};
   gr = new TGraphErrors(n,x,y,ex,ey);
   gr->SetTitle("TGraphErrors Example");
   gr->SetMarkerColor(4);
   gr->SetMarkerStyle(21);
   gr->Draw("ALP");
   return c1;
}
 

Function Members (Methods)

public:
virtual~TGraphErrors()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidApply(TF1* f)
virtual voidTGraph::Browse(TBrowser* b)
static Int_tCalculateScanfFields(const char* fmt)
virtual Double_tTGraph::Chisquare(TF1* f1, Option_t* option = "") const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual Int_tTNamed::Compare(const TObject* obj) const
static Bool_tTGraph::CompareArg(const TGraph* gr, Int_t left, Int_t right)
static Bool_tTGraph::CompareRadius(const TGraph* gr, Int_t left, Int_t right)
static Bool_tTGraph::CompareX(const TGraph* gr, Int_t left, Int_t right)
static Bool_tTGraph::CompareY(const TGraph* gr, Int_t left, Int_t right)
virtual voidComputeRange(Double_t& xmin, Double_t& ymin, Double_t& xmax, Double_t& ymax) const
virtual voidTNamed::Copy(TObject& named) const
virtual voidTObject::Delete(Option_t* option = "")MENU
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual Int_tTGraph::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTGraph::Draw(Option_t* chopt = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTGraph::DrawGraph(Int_t n, const Int_t* x, const Int_t* y, Option_t* option = "")
virtual voidTGraph::DrawGraph(Int_t n, const Float_t* x, const Float_t* y, Option_t* option = "")
virtual voidTGraph::DrawGraph(Int_t n, const Double_t* x = 0, const Double_t* y = 0, Option_t* option = "")
virtual voidTGraph::DrawPanel()MENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual Double_tTGraph::Eval(Double_t x, TSpline* spline = 0, Option_t* option = "") const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTGraph::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTGraph::Expand(Int_t newsize)
virtual voidTGraph::Expand(Int_t newsize, Int_t step)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual TObject*TGraph::FindObject(const char* name) const
virtual TObject*TGraph::FindObject(const TObject* obj) const
virtual TFitResultPtrTGraph::Fit(const char* formula, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0)MENU
virtual TFitResultPtrTGraph::Fit(TF1* f1, Option_t* option = "", Option_t* goption = "", Axis_t xmin = 0, Axis_t xmax = 0)
virtual voidTGraph::FitPanel()MENU
virtual Double_tTGraph::GetCorrelationFactor() const
virtual Double_tTGraph::GetCovariance() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
Bool_tTGraph::GetEditable() const
virtual Double_tGetErrorX(Int_t bin) const
virtual Double_tGetErrorXhigh(Int_t bin) const
virtual Double_tGetErrorXlow(Int_t bin) const
virtual Double_tGetErrorY(Int_t bin) const
virtual Double_tGetErrorYhigh(Int_t bin) const
virtual Double_tGetErrorYlow(Int_t bin) const
virtual Double_t*GetEX() const
virtual Double_t*TGraph::GetEXhigh() const
virtual Double_t*TGraph::GetEXhighd() const
virtual Double_t*TGraph::GetEXlow() const
virtual Double_t*TGraph::GetEXlowd() const
virtual Double_t*GetEY() const
virtual Double_t*TGraph::GetEYhigh() const
virtual Double_t*TGraph::GetEYhighd() const
virtual Double_t*TGraph::GetEYlow() const
virtual Double_t*TGraph::GetEYlowd() const
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
TF1*TGraph::GetFunction(const char* name) const
TH1F*TGraph::GetHistogram() const
virtual const char*TObject::GetIconName() const
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
TList*TGraph::GetListOfFunctions() const
virtual Color_tTAttMarker::GetMarkerColor() const
virtual Size_tTAttMarker::GetMarkerSize() const
virtual Style_tTAttMarker::GetMarkerStyle() const
Double_tTGraph::GetMaximum() const
Int_tTGraph::GetMaxSize() const
virtual Double_tTGraph::GetMean(Int_t axis = 1) const
Double_tTGraph::GetMinimum() const
Int_tTGraph::GetN() const
virtual const char*TNamed::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual Int_tTGraph::GetPoint(Int_t i, Double_t& x, Double_t& y) const
virtual Double_tTGraph::GetRMS(Int_t axis = 1) const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_t*TGraph::GetX() const
TAxis*TGraph::GetXaxis() const
Double_t*TGraph::GetY() const
TAxis*TGraph::GetYaxis() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTNamed::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTGraph::InitExpo(Double_t xmin = 0, Double_t xmax = 0)
virtual voidTGraph::InitGaus(Double_t xmin = 0, Double_t xmax = 0)
virtual voidTGraph::InitPolynom(Double_t xmin = 0, Double_t xmax = 0)
virtual Int_tTGraph::InsertPoint()MENU
virtual voidTObject::Inspect() constMENU
virtual Double_tTGraph::Integral(Int_t first = 0, Int_t last = -1) const
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTGraph::IsEditable() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
virtual Int_tTGraph::IsInside(Double_t x, Double_t y) const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTNamed::IsSortable() const
virtual Bool_tTAttFill::IsTransparent() const
Bool_tTObject::IsZombie() const
virtual voidTGraph::LeastSquareFit(Int_t m, Double_t* a, Double_t xmin = 0, Double_t xmax = 0)
virtual voidTGraph::LeastSquareLinearFit(Int_t n, Double_t& a0, Double_t& a1, Int_t& ifail, Double_t xmin = 0, Double_t xmax = 0)
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Int_tMerge(TCollection* list)
virtual voidTAttLine::Modify()
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
voidTObject::operator delete(void* ptr)
voidTObject::operator delete(void* ptr, void* vp)
voidTObject::operator delete[](void* ptr)
voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TGraphErrors&operator=(const TGraphErrors& gr)
virtual voidTGraph::Paint(Option_t* chopt = "")
voidTGraph::PaintGraph(Int_t npoints, const Double_t* x, const Double_t* y, Option_t* chopt)
voidTGraph::PaintGrapHist(Int_t npoints, const Double_t* x, const Double_t* y, Option_t* chopt)
virtual voidTGraph::PaintStats(TF1* fit)
virtual voidTObject::Pop()
virtual voidPrint(Option_t* chopt = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTGraph::RecursiveRemove(TObject* obj)
virtual Int_tTGraph::RemovePoint()MENU
virtual Int_tTGraph::RemovePoint(Int_t ipoint)
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
virtual voidTAttMarker::ResetAttMarker(Option_t* toption = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidTAttMarker::SaveMarkerAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t sizdef = 1)
virtual voidSavePrimitive(ostream& out, Option_t* option = "")
virtual voidTGraph::Set(Int_t n)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTGraph::SetEditable(Bool_t editable = kTRUE)TOGGLE GETTER
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTAttFill::SetFillColorAlpha(Color_t fcolor, Float_t falpha)
virtual voidTAttFill::SetFillStyle(Style_t fstyle)
virtual voidTGraph::SetHistogram(TH1F* h)
virtual voidTAttLine::SetLineAttributes()MENU
virtual voidTAttLine::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineColorAlpha(Color_t lcolor, Float_t lalpha)
virtual voidTAttLine::SetLineStyle(Style_t lstyle)
virtual voidTAttLine::SetLineWidth(Width_t lwidth)
virtual voidTAttMarker::SetMarkerAttributes()MENU
virtual voidTAttMarker::SetMarkerColor(Color_t mcolor = 1)
virtual voidTAttMarker::SetMarkerColorAlpha(Color_t mcolor, Float_t malpha)
virtual voidTAttMarker::SetMarkerSize(Size_t msize = 1)
virtual voidTAttMarker::SetMarkerStyle(Style_t mstyle = 1)
virtual voidTGraph::SetMaximum(Double_t maximum = -1111)MENU
virtual voidTGraph::SetMinimum(Double_t minimum = -1111)MENU
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTGraph::SetPoint(Int_t i, Double_t x, Double_t y)
virtual voidSetPointError(Double_t ex, Double_t ey)
virtual voidSetPointError(Int_t i, Double_t ex, Double_t ey)
virtual voidTGraph::SetTitle(const char* title = "")MENU
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp) const
virtual Int_tTNamed::Sizeof() const
virtual voidTGraph::Sort(Bool_t(*)(const TGraph*,Int_t,Int_t) greater = &TGraph::CompareX, Bool_t ascending = kTRUE, Int_t low = 0, Int_t high = -1111)
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
TGraphErrors()
TGraphErrors(Int_t n)
TGraphErrors(const TGraphErrors& gr)
TGraphErrors(const TH1* h)
TGraphErrors(const char* filename, const char* format = "%lg %lg %lg %lg", Option_t* option = "")
TGraphErrors(const TVectorF& vx, const TVectorF& vy, const TVectorF& vex, const TVectorF& vey)
TGraphErrors(const TVectorD& vx, const TVectorD& vy, const TVectorD& vex, const TVectorD& vey)
TGraphErrors(Int_t n, const Float_t* x, const Float_t* y, const Float_t* ex = 0, const Float_t* ey = 0)
TGraphErrors(Int_t n, const Double_t* x, const Double_t* y, const Double_t* ex = 0, const Double_t* ey = 0)
virtual voidTGraph::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
voidTGraph::Zero(Int_t& k, Double_t AZ, Double_t BZ, Double_t E2, Double_t& X, Double_t& Y, Int_t maxiterations)
protected:
virtual Double_t**Allocate(Int_t size)
Double_t**TGraph::AllocateArrays(Int_t Narrays, Int_t arraySize)
virtual voidCopyAndRelease(Double_t** newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
virtual Bool_tCopyPoints(Double_t** arrays, Int_t ibegin, Int_t iend, Int_t obegin)
Bool_tCtorAllocate()
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual Bool_tDoMerge(const TGraph* g)
Double_t**TGraph::ExpandAndCopy(Int_t size, Int_t iend)
virtual voidFillZero(Int_t begin, Int_t end, Bool_t from_ctor = kTRUE)
voidTObject::MakeZombie()
Double_t**TGraph::ShrinkAndCopy(Int_t size, Int_t iend)
virtual voidSwapPoints(Int_t pos1, Int_t pos2)
static voidTGraph::SwapValues(Double_t* arr, Int_t pos1, Int_t pos2)

Data Members

public:
static TObject::(anonymous)TObject::kBitMask
static TObject::EStatusBitsTObject::kCanDelete
static TObject::EStatusBitsTObject::kCannotPick
static TGraph::(anonymous)TGraph::kClipFrame
static TObject::EStatusBitsTObject::kHasUUID
static TObject::EStatusBitsTObject::kInvalidObject
static TObject::(anonymous)TObject::kIsOnHeap
static TObject::EStatusBitsTObject::kIsReferenced
static TObject::EStatusBitsTObject::kMustCleanup
static TObject::EStatusBitsTObject::kNoContextMenu
static TObject::(anonymous)TObject::kNotDeleted
static TGraph::(anonymous)TGraph::kNotEditable
static TObject::EStatusBitsTObject::kObjInCanvas
static TObject::(anonymous)TObject::kOverwrite
static TObject::(anonymous)TObject::kSingleKey
static TObject::(anonymous)TObject::kWriteDelete
static TObject::(anonymous)TObject::kZombie
protected:
Double_t*fEX[fNpoints] array of X errors
Double_t*fEY[fNpoints] array of Y errors
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
TList*TGraph::fFunctionsPointer to list of functions (fits and user)
TH1F*TGraph::fHistogramPointer to histogram used for drawing axis
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
Color_tTAttMarker::fMarkerColorMarker color index
Size_tTAttMarker::fMarkerSizeMarker size
Style_tTAttMarker::fMarkerStyleMarker style
Int_tTGraph::fMaxSize!Current dimension of arrays fX and fY
Double_tTGraph::fMaximumMaximum value for plotting along y
Double_tTGraph::fMinimumMinimum value for plotting along y
TStringTNamed::fNameobject identifier
Int_tTGraph::fNpointsNumber of points <= fMaxSize
TStringTNamed::fTitleobject title
Double_t*TGraph::fX[fNpoints] array of X points
Double_t*TGraph::fY[fNpoints] array of Y points

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGraphErrors()
 TGraphErrors default constructor.
TGraphErrors(Int_t n)
 TGraphErrors normal constructor.

  the arrays are preset to zero
TGraphErrors(Int_t n, const Float_t* x, const Float_t* y, const Float_t* ex = 0, const Float_t* ey = 0)
 TGraphErrors normal constructor.

  if ex or ey are null, the corresponding arrays are preset to zero
TGraphErrors(Int_t n, const Double_t* x, const Double_t* y, const Double_t* ex = 0, const Double_t* ey = 0)
 TGraphErrors normal constructor.

  if ex or ey are null, the corresponding arrays are preset to zero
TGraphErrors(const TVectorF& vx, const TVectorF& vy, const TVectorF& vex, const TVectorF& vey)
 constructor with four vectors of floats in input
 A grapherrors is built with the X coordinates taken from vx and Y coord from vy
 and the errors from vectors vex and vey.
 The number of points in the graph is the minimum of number of points
 in vx and vy.
TGraphErrors(const TVectorD& vx, const TVectorD& vy, const TVectorD& vex, const TVectorD& vey)
 constructor with four vectors of doubles in input
 A grapherrors is built with the X coordinates taken from vx and Y coord from vy
 and the errors from vectors vex and vey.
 The number of points in the graph is the minimum of number of points
 in vx and vy.
TGraphErrors(const TGraphErrors& gr)
 TGraphErrors copy constructor
TGraphErrors& operator=(const TGraphErrors& gr)
 TGraphErrors assignment operator
TGraphErrors(const TH1* h)
 TGraphErrors constructor importing its parameters from the TH1 object passed as argument
TGraphErrors(const char* filename, const char* format = "%lg %lg %lg %lg", Option_t* option = "")
 GraphErrors constructor reading input from filename
 filename is assumed to contain at least 3 columns of numbers
 convention for format (default="%lg %lg %lg %lg)
  format = "%lg %lg"         read only 2 first columns into X,Y
  format = "%lg %lg %lg"     read only 3 first columns into X,Y and EY
  format = "%lg %lg %lg %lg" read only 4 first columns into X,Y,EX,EY.

 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 instanciation is about 2 times slower.
 In case a delimiter is specified, the format "%lg %lg %lg" will read X,Y,EX.
~TGraphErrors()
 TGraphErrors default destructor.
void Apply(TF1* f)
 apply function to all the data points
 y = f(x,y)

 The error is calculated as ey=(f(x,y+ey)-f(x,y-ey))/2
 This is the same as error(fy) = df/dy * ey for small errors

 For generic functions the symmetric errors might become non-symmetric
 and are averaged here. Use TGraphAsymmErrors if desired.

 error on x doesn't change
 function suggested/implemented by Miroslav Helbich <helbich@mail.desy.de>
Int_t CalculateScanfFields(const char* fmt)
 Calculate scan fields.
void ComputeRange(Double_t& xmin, Double_t& ymin, Double_t& xmax, Double_t& ymax) const
 Compute range.
void CopyAndRelease(Double_t** newarrays, Int_t ibegin, Int_t iend, Int_t obegin)
 Copy and release.
Bool_t CopyPoints(Double_t** arrays, Int_t ibegin, Int_t iend, Int_t obegin)
 Copy errors from fEX and fEY to arrays[0] and arrays[1]
 or to fX and fY. Copy points.
Bool_t CtorAllocate()
 Constructor allocate.
Note: This function should be called only from the constructor
 since it does not delete previously existing arrays
Bool_t DoMerge(const TGraph* g)
  protected function to perform the merge operation of a graph with errors
void FillZero(Int_t begin, Int_t end, Bool_t from_ctor = kTRUE)
 Set zero values for point arrays in the range [begin, end]
Double_t GetErrorX(Int_t bin) const
 This function is called by GraphFitChisquare.
 It returns the error along X at point i.
Double_t GetErrorY(Int_t bin) const
 This function is called by GraphFitChisquare.
 It returns the error along Y at point i.
Double_t GetErrorXhigh(Int_t bin) const
 This function is called by GraphFitChisquare.
 It returns the error along X at point i.
Double_t GetErrorXlow(Int_t bin) const
 This function is called by GraphFitChisquare.
 It returns the error along X at point i.
Double_t GetErrorYhigh(Int_t bin) const
 This function is called by GraphFitChisquare.
 It returns the error along X at point i.
Double_t GetErrorYlow(Int_t bin) const
 This function is called by GraphFitChisquare.
 It returns the error along X at point i.
Int_t Merge(TCollection* list)
 Adds all graphs with errors from the collection to this graph.
 Returns the total number of poins in the result or -1 in case of an error.
void Print(Option_t* chopt = "") const
 Print graph and errors values.
void SavePrimitive(ostream& out, Option_t* option = "")
 Save primitive as a C++ statement(s) on output stream out
void SetPointError(Double_t ex, Double_t ey)
 Set ex and ey values for point pointed by the mouse.
void SetPointError(Int_t i, Double_t ex, Double_t ey)
 Set ex and ey values for point number i.
void Streamer(TBuffer& )
 Stream an object of class TGraphErrors.
void SwapPoints(Int_t pos1, Int_t pos2)
 Swap points
Double_t ** Allocate(Int_t size)
Double_t * GetEX() const
{return fEX;}
Double_t * GetEY() const
{return fEY;}