Logo ROOT  
Reference Guide
multigraph.C File Reference

Detailed Description

View in nbviewer Open in SWAN Create and Draw a TMultiGraph.

void multigraph()
{
auto c1 = new TCanvas("c1","multigraph",700,500);
c1->SetGrid();
// draw a frame to define the range
auto mg = new TMultiGraph();
// create first graph
const Int_t n1 = 10;
Double_t px1[] = {-0.1, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95};
Double_t py1[] = {-1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1};
Double_t ex1[] = {.05,.1,.07,.07,.04,.05,.06,.07,.08,.05};
Double_t ey1[] = {.8,.7,.6,.5,.4,.4,.5,.6,.7,.8};
auto gr1 = new TGraphErrors(n1,px1,py1,ex1,ey1);
gr1->SetMarkerColor(kBlue);
gr1->SetMarkerStyle(21);
gr1->Fit("pol6","q");
mg->Add(gr1);
// create second graph
const Int_t n2 = 10;
Float_t x2[] = {-0.28, 0.005, 0.19, 0.29, 0.45, 0.56,0.65,0.80,0.90,1.01};
Float_t y2[] = {2.1,3.86,7,9,10,10.55,9.64,7.26,5.42,2};
Float_t ex2[] = {.04,.12,.08,.06,.05,.04,.07,.06,.08,.04};
Float_t ey2[] = {.6,.8,.7,.4,.3,.3,.4,.5,.6,.7};
auto gr2 = new TGraphErrors(n2,x2,y2,ex2,ey2);
gr2->SetMarkerColor(kRed);
gr2->SetMarkerStyle(20);
gr2->Fit("pol5","q");
mg->Add(gr2);
mg->Draw("ap");
//force drawing of canvas to generate the fit TPaveStats
c1->Update();
auto stats1 = (TPaveStats*)gr1->GetListOfFunctions()->FindObject("stats");
auto stats2 = (TPaveStats*)gr2->GetListOfFunctions()->FindObject("stats");
stats1->SetTextColor(kBlue);
stats2->SetTextColor(kRed);
stats1->SetX1NDC(0.12); stats1->SetX2NDC(0.32); stats1->SetY1NDC(0.75);
stats2->SetX1NDC(0.72); stats2->SetX2NDC(0.92); stats2->SetY1NDC(0.78);
c1->Modified();
}
Author
Rene Brun

Definition in file multigraph.C.

TGeant4Unit::mg
static constexpr double mg
Definition: TGeant4SystemOfUnits.h:210
TGraph::GetListOfFunctions
TList * GetListOfFunctions() const
Definition: TGraph.h:117
TList::FindObject
virtual TObject * FindObject(const char *name) const
Find an object in this list using its name.
Definition: TList.cxx:577
Float_t
float Float_t
Definition: RtypesCore.h:57
Int_t
int Int_t
Definition: RtypesCore.h:45
TStyle::SetOptFit
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:1544
TPaveStats
Definition: TPaveStats.h:18
gStyle
R__EXTERN TStyle * gStyle
Definition: TStyle.h:412
kRed
@ kRed
Definition: Rtypes.h:66
TMultiGraph
A TMultiGraph is a collection of TGraph (or derived) objects.
Definition: TMultiGraph.h:36
Double_t
double Double_t
Definition: RtypesCore.h:59
TGraphErrors
Definition: TGraphErrors.h:26
TCanvas
Definition: TCanvas.h:23
TGraph::Fit
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
Fit this graph with function with name fname.
Definition: TGraph.cxx:1064
kBlue
@ kBlue
Definition: Rtypes.h:66
x2
static const double x2[5]
Definition: RooGaussKronrodIntegrator1D.cxx:364
c1
return c1
Definition: legend1.C:41