#include "TGraphErrors.h" #include "TCanvas.h" void Exercise6b() { // const int kN = 100; const int kN = 4; Double_t x[4] = {34.5,45.0,65.3,80.5}; Double_t y[4] = {2071., 2098., 2147., 2164.}; Double_t errx[4] = {0.1, 0.1, 0.1, 0.1}; Double_t erry[4] = {3.,2.,3.,4.}; TGraphErrors* gra[2]; for(int i = 0; i < 2; i++){ gra[i] = new TGraphErrors(kN); } // crete 2 tgraph for(int i = 0; i < kN; i++){ gra[0]->SetPoint(i, x[i], y[i]); gra[1]->SetPoint(i, y[i], x[i]); // change x<=>y gra[0]->SetPointError(i, errx[i], erry[i]); gra[1]->SetPointError(i, erry[i], errx[i]); // change ex<=>ey } // i TCanvas* can = new TCanvas("can", "can"); can->Divide(2, 1); for(int i = 0; i < 2; i++){ can->cd(i + 1); gra[i]->Draw("ap"); gra[i]->Fit("pol1"); } // i // Way 2 TGraphErrors* gra1[2]; gra1[0] = new TGraphErrors(kN,x,y,errx,erry); gra1[1] = new TGraphErrors(kN,x,y,erry,errx); gra1[0]->SetTitle("Original Errors"); gra1[1]->SetTitle("Swap errors"); TCanvas* can1 = new TCanvas("can1", "can1"); can1->Divide(2, 1); for(int i = 0; i < 2; i++){ can1->cd(i + 1); gra1[i]->Draw("ap"); gra1[i]->Fit("pol1"); } // i }