motorcycle.C: Macro to test scatterplot smoothers: ksmooth, lowess, supsmu | TGraph, TGraphErrors, etc | seism.C: strip chart example |
//Create and Draw a TmultiGraph //Author:: Rene Brun void multigraph() { gStyle->SetOptFit(); TCanvas *c1 = new TCanvas("c1","multigraph",200,10,700,500); c1->SetGrid(); // draw a frame to define the range TMultiGraph *mg = new TMultiGraph(); // create first graph const Int_t n1 = 10; Double_t x1[] = {-0.1, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95}; Double_t y1[] = {-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}; TGraphErrors *gr1 = new TGraphErrors(n1,x1,y1,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}; TGraphErrors *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(); TPaveStats *stats1 = (TPaveStats*)gr1->GetListOfFunctions()->FindObject("stats"); TPaveStats *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(); } multigraph.C:1 multigraph.C:2 multigraph.C:3 multigraph.C:4 multigraph.C:5 multigraph.C:6 multigraph.C:7 multigraph.C:8 multigraph.C:9 multigraph.C:10 multigraph.C:11 multigraph.C:12 multigraph.C:13 multigraph.C:14 multigraph.C:15 multigraph.C:16 multigraph.C:17 multigraph.C:18 multigraph.C:19 multigraph.C:20 multigraph.C:21 multigraph.C:22 multigraph.C:23 multigraph.C:24 multigraph.C:25 multigraph.C:26 multigraph.C:27 multigraph.C:28 multigraph.C:29 multigraph.C:30 multigraph.C:31 multigraph.C:32 multigraph.C:33 multigraph.C:34 multigraph.C:35 multigraph.C:36 multigraph.C:37 multigraph.C:38 multigraph.C:39 multigraph.C:40 multigraph.C:41 multigraph.C:42 multigraph.C:43 multigraph.C:44 multigraph.C:45 multigraph.C:46 multigraph.C:47 multigraph.C:48 multigraph.C:49 |
|