TGraph *graph = new TGraph(); TCanvas *canvas = new TCanvas("canvas", "Plotting", 600, 600); void Fill() { graph->SetPoint(0, 0.01614, 6.45625E-12); graph->SetPoint(1, 0.10112, 4.2687E-11); graph->SetPoint(2, 0.74763, 3.61086E-10); graph->SetPoint(3, 2.39927, 1.1245e-9); graph->SetPoint(4, 9.84961, 4.5972e-9); return; } void Plot() { extern TGraph *graph; graph->SetMarkerStyle(22); graph->SetMarkerSize(1.4); Double_t min = TMath::MinElement(graph->GetN(), graph->GetX())*0.5; Double_t max = TMath::MaxElement(graph->GetN(), graph->GetX())*5; Double_t b0 = -9; Double_t b1 = 1; Double_t b2 = -0.01; cout << "Minimum: " << min << " and Maximum: " << max << endl; TF1 *func = new TF1("func", "TMath::Power(10,([0]+[1]*TMath::Log10(x)+[2]*TMath::Log10(x)*TMath::Log10(x)))", min, max); // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // lowering min parameter doesn't change the X range of "fitline" TGraph object func->SetParameter(0, b0); func->SetParameter(1, b1); func->SetParameter(2, b2); TGraph *fitline = new TGraph(func); fitline->SetLineWidth(2); fitline->SetLineStyle(1); fitline->SetLineColor(1); TMultiGraph *mg = new TMultiGraph(); mg->Add(graph, "p"); mg->Add(fitline, "l"); canvas->Clear(); gPad->SetLogy(1); gPad->SetLogx(1); mg->Draw("ap"); canvas->Update(); return; }