{ c1 = new TCanvas("c1","Title",200,10,700,500); c1->GetFrame()->SetBorderSize(12); TF1 * f0 = new TF1("f0","pol1", 1200, 1340); Int_t n = 8; Double_t x[n] = {1200, 1220, 1240, 1260, 1280, 1300, 1320, 1340}; Double_t y[n] = {102.33, 114.26, 128.76, 144.56, 164.64, 188.05, 209.57, 229.65}; Double_t ex[n] = {1,1,1,1,1,1,1,1}; Double_t ey[n] = {0.5, 0.5, 0.75, 0.61, 0.73, 0.71, 0.42, 0.55}; //return c1; gr0 = new TGraphErrors(n); for (int i = 0; i < n; ++i) { double lx = log10(x[i]); double ly = log10(y[i] ); double lex = log10(ex[i]); double ley = log10(ey[i]); gr0->SetPoint(i,lx,ly); gr0->SetPointError(i,lex,ley); } gr0->SetMarkerStyle(8); gr0->Fit("f0"); gStyle->SetOptFit(1111); gr0->Draw("AP"); // now fit the non tranformed data c2 = new TCanvas("c2","Title",200,10,700,500); c2->GetFrame()->SetBorderSize(12); TF1 * f1 = new TF1("f1","[0]*x^[1]", 1200, 1340); f1->SetParameter(0, TMath::Power(10, f0->GetParameter(0))); f1->SetParameter(1, f0->GetParameter(1)); gr = new TGraphErrors(n,x,y,ex,ey); gr->SetTitle("Title"); gr->SetMarkerColor(4); gr->SetMarkerStyle(1); gr->Draw("AP"); gr->Fit("f1"); f1->Draw("SAME"); gStyle->SetOptFit(1111); return c1; }