void fit() { gStyle->SetOptFit(); const int kN = 100; const double kScale = 1e-1; TGraphErrors* gra[2]; for(int i = 0; i < 2; i++){ gra[i] = new TGraphErrors(kN); } // i gra[0].SetTitle(";x;y + #deltay;"); gra[1].SetTitle(";y + #deltay;x;"); for(int i = 0; i < kN; i++){ double ran = gRandom->Gaus(); double x = i*kScale; double y = (i + ran)*kScale; double e = kScale; gra[0]->SetPoint(i, x, y); gra[1]->SetPoint(i, y, x); // change x<=>y gra[0]->SetPointError(i, 0, e); gra[1]->SetPointError(i, e, 0); // 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 }