ROOT
master
Reference Guide
Loading...
Searching...
No Matches
gr108_timeSeriesFromCSV.py
Go to the documentation of this file.
1
## \file
2
## \ingroup tutorial_graphs
3
## \notebook -js
4
## This macro illustrates the use of the time axis on a TGraph
5
## with data read from a text file containing the SWAN usage
6
## statistics during July 2017.
7
##
8
## \macro_image
9
## \macro_code
10
## \authors Danilo Piparo, Olivier Couet
11
12
import
ROOT
13
14
# Open the data file. This csv contains the usage statistics of a CERN IT
15
# service, SWAN, during two weeks. We would like to plot this data with
16
# ROOT to draw some conclusions from it.
17
dirName = str(
ROOT.gROOT.GetTutorialDir
())
18
dirName +=
"/visualisation/graphs/"
19
dirName=
dirName.replace
(
"/./"
,
"/"
)
20
inputFileName =
"%s/SWAN2017.dat"
%dirName
21
22
# Create the time graph. In this example, we don't specify anything about it,
23
# and data points will be added with SetPoint (the first point has index 0)
24
g =
ROOT.TGraph
()
25
g.SetTitle
(
"SWAN Users during July 2017;Time;Number of Sessions"
)
26
27
# Read the data and fill the graph with time along the X axis and number
28
# of users along the Y axis
29
30
lines = open(inputFileName,
"r"
).
readlines
()
31
32
for
i, line
in
enumerate
(lines):
33
d, h, value =
line.split
()
34
g.SetPoint
(i,
ROOT.TDatime
(
"%s %s"
%(d,h)).Convert(), float(value))
35
36
# Draw the graph
37
c =
ROOT.TCanvas
(
"c"
,
"c"
, 950, 500)
38
c.SetLeftMargin
(0.07)
39
c.SetRightMargin
(0.04)
40
c.SetGrid
()
41
g.SetLineWidth
(3)
42
g.SetLineColor
(
ROOT.kBlue
)
43
g.Draw
(
"al"
)
44
g.GetYaxis
().CenterTitle()
45
46
# Make the X axis labelled with time
47
xaxis =
g.GetXaxis
()
48
xaxis.SetTimeDisplay
(1)
49
xaxis.CenterTitle
()
50
xaxis.SetTimeFormat
(
"%a %d"
)
51
xaxis.SetTimeOffset
(0)
52
xaxis.SetNdivisions
(-219)
53
xaxis.SetLimits
(
ROOT.TDatime
(2017, 7, 3, 0, 0, 0).Convert(),
ROOT.TDatime
(2017, 7, 22, 0, 0, 0).Convert())
54
xaxis.SetLabelSize
(0.025)
55
xaxis.CenterLabels
()
56
TRangeDynCast
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Definition
TCollection.h:358
ROOT::Detail::TRangeCast
Definition
TCollection.h:311
tutorials
visualisation
graphs
gr108_timeSeriesFromCSV.py
ROOT master - Reference Guide Generated on Mon Mar 24 2025 05:12:25 (GVA Time) using Doxygen 1.10.0