Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
candleplot.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_hist
3/// \notebook
4/// Example of candle plot with 2-D histograms.
5///
6/// \macro_image
7/// \macro_code
8///
9/// \author Georg Troska
10
11void candleplot() {
12
14 TDatime dateBegin(2010,1,1,0,0,0);
15 TDatime dateEnd(2011,1,1,0,0,0);
16
17 auto h1 = new TH2I("h1","Machine A + B",12,dateBegin.Convert(),dateEnd.Convert(),1000,0,1000);
18 auto h2 = new TH2I("h2","Machine B",12,dateBegin.Convert(),dateEnd.Convert(),1000,0,1000);
19
21 h1->GetXaxis()->SetTimeFormat("%d/%m/%y");
23 h1->GetXaxis()->SetTitle("Date [day/month/year]");
24
25 float Rand;
26 for (int i = dateBegin.Convert(); i < dateEnd.Convert(); i+=86400*30) {
27 for (int j = 0; j < 1000; j++) {
28 Rand = gRandom->Gaus(500+sin(i/10000000.)*100,50); h1->Fill(i,Rand);
29 Rand = gRandom->Gaus(500+sin(i/11000000.)*100,70); h2->Fill(i,Rand);
30 }
31 }
32
33 h1->SetBarWidth(0.4);
34 h1->SetBarOffset(-0.25);
36 h1->SetFillStyle(1001);
37
38 h2->SetBarWidth(0.4);
39 h2->SetBarOffset(0.25);
40 h2->SetLineColor(kRed);
41 h2->SetFillColor(kGreen);
42
43 auto c1 = new TCanvas();
44
45 h1->Draw("candle2");
46 h2->Draw("candle3 same");
47
48 gPad->BuildLegend(0.78,0.695,0.980,0.935,"","f");
49}
@ kRed
Definition Rtypes.h:66
@ kGreen
Definition Rtypes.h:66
@ kYellow
Definition Rtypes.h:66
R__EXTERN TRandom * gRandom
Definition TRandom.h:62
R__EXTERN TStyle * gStyle
Definition TStyle.h:436
#define gPad
virtual void SetNdivisions(Int_t n=510, Bool_t optim=kTRUE)
Set the number of divisions for this axis.
Definition TAttAxis.cxx:233
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition TAttFill.h:37
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
Definition TAttFill.h:39
virtual void SetTimeDisplay(Int_t value)
Definition TAxis.h:173
virtual void SetTimeFormat(const char *format="")
Change the format used for time plotting.
Definition TAxis.cxx:1156
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
virtual void SetBarOffset(Float_t offset=0.25)
Set the bar offset as fraction of the bin width for drawing mode "B".
Definition TH1.h:365
TAxis * GetXaxis()
Definition TH1.h:325
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
Definition TH1.cxx:3346
void Draw(Option_t *option="") override
Draw this histogram with options.
Definition TH1.cxx:3068
virtual void SetBarWidth(Float_t width=0.5)
Set the width of bars as fraction of the bin width for drawing mode "B".
Definition TH1.h:366
2-D histogram with an int per channel (see TH1 documentation)
Definition TH2.h:226
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Definition TNamed.cxx:164
virtual Double_t Gaus(Double_t mean=0, Double_t sigma=1)
Samples a random number from the standard Normal (Gaussian) Distribution with the given mean and sigm...
Definition TRandom.cxx:275
void SetTimeOffset(Double_t toffset)
Change the time offset for time plotting.
Definition TStyle.cxx:1913
RVec< PromoteType< T > > sin(const RVec< T > &v)
Definition RVec.hxx:1851
return c1
Definition legend1.C:41
TH1F * h1
Definition legend1.C:5