Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
twoscales.py
Go to the documentation of this file.
1## \file
2## \ingroup tutorial_hist
3## \notebook
4## Example of macro illustrating how to superimpose two histograms
5## with different scales in the "same" pad.
6## Inspired by work of Rene Brun.
7##
8## \macro_image
9## \macro_code
10##
11## \author Alberto Ferro
12
13#include "TCanvas.h"
14#include "TStyle.h"
15#include "TH1.h"
16#include "TGaxis.h"
17#include "TRandom.h"
18
19import ROOT
20import numpy as np
21
22c1 = ROOT.TCanvas("c1","hists with different scales",600,400)
23
24ROOT.gStyle.SetOptStat(False)
25
26h1 = ROOT.TH1F("h1","my histogram",100,-3,3)
27
28h1.Fill(np.array([ROOT.gRandom.Gaus(0, 1) for _ in range(10000)]))
29
30h1.Draw()
31c1.Update()
32
33hint1 = ROOT.TH1F("hint1","h1 bins integral",100,-3,3)
34
35sum = 0
36for i in range(1,101) :
37 sum += h1.GetBinContent(i)
38 hint1.SetBinContent(i,sum)
39
40rightmax = 1.1*hint1.GetMaximum()
41scale = ROOT.gPad.GetUymax()/rightmax
42hint1.SetLineColor(ROOT.kRed)
43hint1.Scale(scale)
44hint1.Draw("same")
45
46axis = ROOT.TGaxis(ROOT.gPad.GetUxmax(),ROOT.gPad.GetUymin(),
47 ROOT.gPad.GetUxmax(), ROOT.gPad.GetUymax(),0,rightmax,510,"+L")
48axis.SetLineColor(ROOT.kRed)
49axis.SetLabelColor(ROOT.kRed)
50axis.Draw()