Logo ROOT   6.14/05
Reference Guide
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 
11 void candleplot() {
12 
14  TRandom *rng = new TRandom();
15  TDatime *dateBegin = new TDatime(2010,1,1,0,0,0);
16  TDatime *dateEnd = new TDatime(2011,1,1,0,0,0);
17 
18  TH2I *h1 = new TH2I("h1","Machine A + B",12,dateBegin->Convert(),dateEnd->Convert(),1000,0,1000);
19  TH2I *h2 = new TH2I("h2","Machine B",12,dateBegin->Convert(),dateEnd->Convert(),1000,0,1000);
20 
21  h1->GetXaxis()->SetTimeDisplay(1);
22  h1->GetXaxis()->SetTimeFormat("%m/%y");
23  h1->GetXaxis()->SetTitle("Date [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 = rng->Gaus(500+sin(i/10000000.)*100,50); h1->Fill(i,Rand);
29  Rand = rng->Gaus(500+sin(i/11000000.)*100,70); h2->Fill(i,Rand);
30  }
31  }
32 
33  h1->SetBarWidth(0.4);
34  h1->SetBarOffset(-0.25);
35  h1->SetFillColor(kYellow);
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  TCanvas *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 }
virtual void SetBarOffset(Float_t offset=0.25)
Definition: TH1.h:352
virtual void SetTimeFormat(const char *format="")
Change the format used for time plotting.
Definition: TAxis.cxx:1002
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:256
return c1
Definition: legend1.C:41
Definition: Rtypes.h:59
R__EXTERN TStyle * gStyle
Definition: TStyle.h:406
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
Definition: TAttFill.h:39
Definition: Rtypes.h:59
Definition: Rtypes.h:59
void SetTimeOffset(Double_t toffset)
Change the time offset for time plotting.
Definition: TStyle.cxx:1655
virtual void SetBarWidth(Float_t width=0.5)
Definition: TH1.h:353
This is the base class for the ROOT Random number generators.
Definition: TRandom.h:27
TH1F * h1
Definition: legend1.C:5
double sin(double)
virtual void SetTimeDisplay(Int_t value)
Definition: TAxis.h:161
virtual void Draw(Option_t *option="")
Draw this histogram with options.
Definition: TH1.cxx:2974
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition: TAttFill.h:37
The Canvas class.
Definition: TCanvas.h:31
UInt_t Convert(Bool_t toGMT=kFALSE) const
Convert fDatime from TDatime format to the standard time_t format.
Definition: TDatime.cxx:181
#define gPad
Definition: TVirtualPad.h:285
THist< 2, int, THistStatContent > TH2I
Definition: THist.hxx:293
2-D histogram with an int per channel (see TH1 documentation)}
Definition: TH2.h:211
Int_t Fill(Double_t)
Invalid Fill method.
Definition: TH2.cxx:292
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Definition: TNamed.cxx:164
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
Definition: TH1.h:315
This class stores the date and time with a precision of one second in an unsigned 32 bit word (950130...
Definition: TDatime.h:37