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.
We exploit the TDataFrame for reading from the file
void timeSeriesFromCSV_TDF()
{
auto d = tdf.Define(
"TimeStamp",
"auto s = string(Col0) + ' ' + Col1; return (float) TDatime(s.c_str()).Convert();")
.Define("Value", "(float)Col2");
auto timeStamps =
d.Take<
float>(
"TimeStamp");
auto values =
d.Take<
float>(
"Value");
auto g =
new TGraph(values->size(), timeStamps->data(), values->data());
g->SetTitle(
"SWAN Users during July 2017;Time;Number of Sessions");
auto c =
new TCanvas(
"c",
"c", 950, 500);
g->GetYaxis()->CenterTitle();
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();
}
char * Form(const char *fmt,...)
This class stores the date and time with a precision of one second in an unsigned 32 bit word (950130...
A TGraph is an object made of two arrays X and Y with npoints each.
const char * Data() const
TString & ReplaceAll(const TString &s1, const TString &s2)
TString & Append(const char *cs)
RDataFrame MakeCsvDataFrame(std::string_view fileName, bool readHeaders=true, char delimiter=',', Long64_t linesChunkSize=-1LL)
Factory method to create a CSV RDataFrame.
- Authors
- Danilo Piparo, Olivier Couet
Definition in file timeSeriesFromCSV_TDF.C.