Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
timeSeriesFromCSV.C File Reference

Detailed Description

View in nbviewer Open in SWAN
This macro illustrates the use of the time axis on a TGraph with data read from a text file containing the SWAN usage statistics during July 2017.

{
// Open the data file. This csv contains the usage statistics of a CERN IT
// service, SWAN, during two weeks. We would like to plot this data with
// ROOT to draw some conclusions from it.
TString dir = gROOT->GetTutorialDir();
dir.Append("/graphs/");
dir.ReplaceAll("/./", "/");
FILE *f = fopen(Form("%sSWAN2017.dat", dir.Data()), "r");
// Create the time graph
auto g = new TGraph();
g->SetTitle("SWAN Users during July 2017;Time;Number of Sessions");
// Read the data and fill the graph with time along the X axis and number
// of users along the Y axis
char line[80];
float v;
char dt[20];
int i = 0;
while (fgets(line, 80, f)) {
sscanf(&line[20], "%f", &v);
strncpy(dt, line, 18);
dt[19] = '\0';
g->SetPoint(i, TDatime(dt).Convert(), v);
i++;
}
// Draw the graph
auto c = new TCanvas("c", "c", 950, 500);
c->SetLeftMargin(0.07);
c->SetRightMargin(0.04);
c->SetGrid();
g->SetLineWidth(3);
g->SetLineColor(kBlue);
g->Draw("al");
g->GetYaxis()->CenterTitle();
// Make the X axis labelled with time.
auto xaxis = g->GetXaxis();
xaxis->SetTimeDisplay(1);
xaxis->CenterTitle();
xaxis->SetTimeFormat("%a %d");
xaxis->SetTimeOffset(0);
xaxis->SetNdivisions(-219);
xaxis->SetLimits(TDatime(2017, 7, 3, 0, 0, 0).Convert(), TDatime(2017, 7, 22, 0, 0, 0).Convert());
xaxis->SetLabelSize(0.025);
xaxis->CenterLabels();
}
#define f(i)
Definition RSha256.hxx:104
#define c(i)
Definition RSha256.hxx:101
#define g(i)
Definition RSha256.hxx:105
@ kBlue
Definition Rtypes.h:66
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
#define gROOT
Definition TROOT.h:406
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
Definition TString.cxx:2489
The Canvas class.
Definition TCanvas.h:23
This class stores the date and time with a precision of one second in an unsigned 32 bit word (950130...
Definition TDatime.h:37
A TGraph is an object made of two arrays X and Y with npoints each.
Definition TGraph.h:41
Basic string class.
Definition TString.h:139
const char * Data() const
Definition TString.h:376
TString & ReplaceAll(const TString &s1, const TString &s2)
Definition TString.h:704
TString & Append(const char *cs)
Definition TString.h:572
TLine * line
Authors
Danilo Piparo, Olivier Couet

Definition in file timeSeriesFromCSV.C.