Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
hist049_Graphics_candle_plot.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_hist
3/// \notebook
4/// \preview Example of candle plot with 2-D histograms.
5///
6/// \macro_image (tcanvas_js)
7/// \macro_code
8///
9/// \date May 2024
10/// \author Georg Troska
11
12void hist049_Graphics_candle_plot()
13{
14
15 gStyle->SetTimeOffset(0);
16 TDatime dateBegin(2010, 1, 1, 0, 0, 0);
17 TDatime dateEnd(2011, 1, 1, 0, 0, 0);
18
19 auto h1 = new TH2I("h1", "Machine A + B", 12, dateBegin.Convert(), dateEnd.Convert(), 1000, 0, 1000);
20 auto h2 = new TH2I("h2", "Machine B", 12, dateBegin.Convert(), dateEnd.Convert(), 1000, 0, 1000);
21
22 h1->GetXaxis()->SetTimeDisplay(1);
23 h1->GetXaxis()->SetTimeFormat("%d/%m/%y");
24 h1->GetXaxis()->SetNdivisions(-6);
25 h1->GetXaxis()->SetTitle("Date [day/month/year]");
26
27 float Rand;
28 for (int i = dateBegin.Convert(); i < dateEnd.Convert(); i += 86400 * 30) {
29 for (int j = 0; j < 1000; j++) {
30 Rand = gRandom->Gaus(500 + sin(i / 10000000.) * 100, 50);
31 h1->Fill(i, Rand);
32 Rand = gRandom->Gaus(500 + sin(i / 11000000.) * 100, 70);
33 h2->Fill(i, Rand);
34 }
35 }
36
37 h1->SetBarWidth(0.4);
38 h1->SetBarOffset(-0.25);
39 h1->SetFillColor(kYellow);
40 h1->SetFillStyle(1001);
41
42 h2->SetBarWidth(0.4);
43 h2->SetBarOffset(0.25);
44 h2->SetLineColor(kRed);
45 h2->SetFillColor(kGreen);
46
47 auto c1 = new TCanvas();
48
49 h1->Draw("candle2");
50 h2->Draw("candle3 same");
51
52 gPad->BuildLegend(0.78, 0.695, 0.980, 0.935, "", "f");
53}
@ kRed
Definition Rtypes.h:67
@ kGreen
Definition Rtypes.h:67
@ kYellow
Definition Rtypes.h:67
externTRandom * gRandom
Definition TRandom.h:62
externTStyle * gStyle
Definition TStyle.h:442
#define gPad
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
2-D histogram with an int per channel (see TH1 documentation)
Definition TH2.h:245
RVec< PromoteType< T > > sin(const RVec< T > &v)
Definition RVec.hxx:1847
return c1
Definition legend1.C:41
TH1F * h1
Definition legend1.C:5