Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
hist015_TH1_read_and_draw.py
Go to the documentation of this file.
1## \file
2## \ingroup tutorial_hist
3## \notebook -js
4## A Simple histogram drawing example.
5##
6## \macro_image
7## \macro_output
8## \macro_code
9##
10## \author Wim Lavrijsen
11
12import ROOT
13from ROOT import TCanvas, TPad, TFile, TPaveLabel, TPaveText
14from ROOT import gROOT
15
16c1 = TCanvas( 'c1', 'Histogram Drawing Options', 200, 10, 700, 900 )
17
18pad1 = TPad( 'pad1', 'The pad with the function', 0.03, 0.62, 0.50, 0.92, 21 )
19pad2 = TPad( 'pad2', 'The pad with the histogram', 0.51, 0.62, 0.98, 0.92, 21 )
20pad3 = TPad( 'pad3', 'The pad with the histogram', 0.03, 0.02, 0.97, 0.57, 21 )
21pad1.Draw()
22pad2.Draw()
23pad3.Draw()
24#
25# We connect the ROOT file generated in the hsimple.py tutorial
26#
27
28example = TFile("py-hsimple.root")
29example.ls()
30
31# Draw a global picture title
32title = TPaveLabel( 0.1, 0.94, 0.9, 0.98,
33 'Drawing options for one dimensional histograms' )
34title.SetFillColor( 16 )
35title.SetTextFont( 52 )
36title.Draw()
37#
38# Draw histogram hpx in first pad with the default option.
39pad1.cd()
40pad1.GetFrame().SetFillColor( 18 )
41hpx = gROOT.FindObject( 'hpx' )
42hpx.SetFillColor( 45 )
43hpx.DrawCopy()
44label1 = TPaveLabel( -3.5, 700, -1, 800, 'Default option' )
45label1.SetFillColor( 42 )
46label1.Draw()
47#
48# Draw hpx as a lego. Clicking on the lego area will show
49# a "transparent cube" to guide you rotating the lego in real time.
50pad2.cd()
51hpx.DrawCopy( 'lego1' )
52label2 = TPaveLabel( -0.72, 0.74, -0.22, 0.88, 'option Lego1' )
53label2.SetFillColor( 42 )
54label2.Draw()
55label2a = TPaveLabel( -0.93, -1.08, 0.25, -0.92, 'Click on lego to rotate' )
56label2a.SetFillColor( 42 )
57label2a.Draw()
58#
59# Draw hpx with its errors and a marker.
60pad3.cd()
61pad3.SetGridx()
62pad3.SetGridy()
63pad3.GetFrame().SetFillColor( 18 )
64hpx.SetMarkerStyle( 21 )
65hpx.Draw( 'e1p' )
66label3 = TPaveLabel( 2, 600, 3.5, 650, 'option e1p' )
67label3.SetFillColor( 42 )
68label3.Draw()
69#
70# The following illustrates how to add comments using a PaveText.
71# Attributes of text/lines/boxes added to a PaveText can be modified.
72# The AddText function returns a pointer to the added object.
73pave = TPaveText( -3.78, 500, -1.2, 750 )
74pave.SetFillColor( 42 )
75t1 = pave.AddText( 'You can move' )
76t1.SetTextColor( 4 )
77t1.SetTextSize( 0.05 )
78pave.AddText( 'Title and Stats pads' )
79pave.AddText( 'X and Y axis' )
80pave.AddText( 'You can modify bin contents' )
81pave.Draw()
82c1.Update()
83
84if (example.IsOpen()):
85 example.Close()
The Canvas class.
Definition TCanvas.h:23
A file, usually with extension .root, that stores data and code in the form of serialized objects in ...
Definition TFile.h:130
The most important graphics class in the ROOT system.
Definition TPad.h:28
A Pave (see TPave) with a text centered in the Pave.
Definition TPaveLabel.h:20
h1 SetFillColor(kGreen)