void TimePlot() { /* Generating timedependent quantity Temper and plotting it run as: root -l TimePlot.C */ TCanvas *ct2 = new TCanvas("ct2","ct2",10,10,700,500); ct2->SetGrid(); int Year = 2020; int Month[12] = {1,2,3,4,5,6,7,8,9,10,11,12}; int Day[31] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31}; int Hour[24] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23}; int Minute = 0; int Second = 0; int Date; float Temper(36.); float DT = 0.5; int NDate = 0; float date[1000]; float temper[1000]; for (int im = 0; im < 1; im++) { int jm = im + 6; for (int id = 0; id < 10; id++) { int jd = id + 20; for (int ih = 0; ih < 6; ih++) { int jh = ih*3 + 1; TDatime t0(Year, Month[jm], Day[jd], Hour[jh], Minute, Second); Date = t0.Convert(); TDatime t1(Date); date[NDate] = Date; temper[NDate] = Temper + DT*(NDate%3-1);; printf(" Item: %2d Temperature %4.1f at Year: %2d Month: %2d Day: %2d Hour: %2d Minute: %2d Second: %2d \n", NDate, temper[NDate], t1.GetYear(), t1.GetMonth(), t1.GetDay(), t1.GetHour(), t1.GetMinute(), t1.GetSecond() ); NDate++; } } } // Plot printf(" \n Now plot %2d items \n",NDate); TF1 *f2 = new TF1("f2","[0]",0., date[NDate-1]); f2->SetParameter(0,37.); TGraph *gt = new TGraph(NDate,date,temper); gt->SetTitle("Temperature vs Date/Time"); gt->SetMaximum(40.); gt->SetMinimum(35.); gt->SetMarkerColor(3); gt->SetMarkerSize(0.5); gt->SetMarkerStyle(20); gt->SetLineColor(5); gt->SetLineWidth(2); gt->Draw("ALP"); f2->Draw("SAME"); gt->GetXaxis()->SetLabelSize(0.04); // Sets time on the X axis gt->GetXaxis()->SetTimeDisplay(1); ct2->SaveAs("TemperatureVsDate.pdf"); }