#include "TCanvas.h" #include "TPad.h" #include "TMultiGraph.h" #include "TGraph.h" #include "TGraphErrors.h" #include "TAxis.h" #include "TLegend.h" #include "TLatex.h" #include "TROOT.h" #include void corona() { gStyle->SetOptFit(); const char *datain = "C:/corona.txt"; const char *dataout = "C:/root_v6.20.00/corona.pdf"; TCanvas *c01 = new TCanvas("c01","multigraph",1280,1024); float offx=1.3; float offy=1.7; float margr=0.08; float w=3; float margl=0.12; gPad->SetLeftMargin(margl); gPad->SetRightMargin(margr); TGraphErrors *gamma = new TGraphErrors(datain,"%lg %lg"); gamma->SetMarkerColor(kBlue); gamma->SetLineColor(kBlue); gamma->SetMarkerStyle(23); gamma->SetLineWidth(10); // TF1 *fitspettro = new TF1("fitspettro", "gaus"); TF1 *fitspettro = new TF1("fitspettro", "[0] * (1+[1]*TMath::Exp(-x/5))/(1+[2]*TMath::Exp(-x/[1]))", 0,17); fitspettro->SetParName(0,"a"); fitspettro->SetParName(1,"m"); fitspettro->SetParName(2,"#tau"); fitspettro->SetParName(3,"n"); fitspettro->SetParameter(0,4.5); fitspettro->SetParameter(1,140); fitspettro->SetParameter(2,5); fitspettro->SetParameter(3,200); gamma->Fit("fitspettro"); fitspettro->SetRange(0.,100); fitspettro->Draw(); gamma->Draw("L"); //gamma->Draw("AP"); fitspettro->SetTitle("Covid-19 cases"); fitspettro->GetXaxis()->SetTitle("Day"); fitspettro->GetYaxis()->SetTitle("Cases"); fitspettro->GetYaxis()->SetTitleOffset(offy); fitspettro->GetXaxis()->SetTitleOffset(offx); gamma->SetTitle("Covid-19 cases"); gamma->GetXaxis()->SetTitle("Day"); gamma->GetYaxis()->SetTitle("Cases"); gamma->GetYaxis()->SetTitleOffset(offy); gamma->GetXaxis()->SetTitleOffset(offx); //fitspettro->GetXaxis()->SetTimeDisplay(1); //fitspettro->GetXaxis()->SetTimeFormat("%m/%d"); TLegend* leg = new TLegend(0.15, 0.7, .25, .75); leg->SetHeader("Legend"); leg->SetNColumns(1); leg->AddEntry(gamma, "Data", "l"); leg->AddEntry(fitspettro, "Fit", "l"); leg->Draw(); gPad->Update(); TPaveStats *stat = (TPaveStats*)gamma->GetListOfFunctions()->FindObject("stats"); stat->SetTextColor(kBlue); stat->SetX1NDC(0.80); stat->SetX2NDC(0.98); stat->SetY1NDC(0.77); stat->SetY2NDC(0.92); c01->Print(dataout); }