Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
hist048_Graphics_candle_hist.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_hist
3/// \notebook
4/// \preview Example showing how to combine the various candle plot options.
5///
6/// \macro_image (tcanvas_js)
7/// \macro_code
8///
9/// \date December 2017
10/// \author Georg Troska
11
12void hist048_Graphics_candle_hist()
13{
14 TCanvas *c1 = new TCanvas("c1", "Candle Presets", 800, 600);
15 c1->Divide(3, 2);
16
17 TRandom *rng = new TRandom();
18 TH2I *h1 = new TH2I("h1", "Sin", 18, 0, 360, 100, -1.5, 1.5);
19 h1->GetXaxis()->SetTitle("Deg");
20
21 float myRand;
22 for (int i = 0; i < 360; i += 10) {
23 for (int j = 0; j < 100; j++) {
24 myRand = rng->Gaus(sin(i * 3.14 / 180), 0.2);
25 h1->Fill(i, myRand);
26 }
27 }
28
29 for (int i = 1; i < 7; i++) {
30 c1->cd(i);
32 TH2I *myhist = (TH2I *)h1->DrawCopy(title);
33 myhist->SetTitle(title);
34 }
35
36 TCanvas *c2 = new TCanvas("c2", "Violin Presets", 800, 300);
37 c2->Divide(2, 1);
38
39 for (int i = 1; i < 3; i++) {
40 c2->cd(i);
42 TH2I *myhist = (TH2I *)h1->DrawCopy(title);
43 myhist->SetFillColor(kGray + 2);
44 }
45
46 TCanvas *c3 = new TCanvas("c3", "Playing with candle and violin-options", 800, 600);
47 c3->Divide(3, 2);
48 TString myopt[6] = {"1000000", "2000000", "3000000", "1112111", "112111", "112111"};
49 for (int i = 0; i < 6; i++) {
50 c3->cd(i + 1);
52 TH2I *myhist = (TH2I *)h1->DrawCopy(title);
53 myhist->SetFillColor(kYellow);
54 if (i == 4) {
55 TH2I *myhist2 = (TH2I *)h1->DrawCopy("candlex(1000000) same");
56 myhist2->SetFillColor(kRed);
57 }
58 if (i == 5) {
59 myhist->SetBarWidth(0.2);
60 myhist->SetBarOffset(0.25);
61 TH2I *myhist2 = (TH2I *)h1->DrawCopy("candlex(2000000) same");
62 myhist2->SetFillColor(kRed);
63 myhist2->SetBarWidth(0.6);
64 myhist2->SetBarOffset(-0.5);
65 }
66 myhist->SetTitle(title);
67 }
68}
@ kGray
Definition Rtypes.h:66
@ kRed
Definition Rtypes.h:67
@ kYellow
Definition Rtypes.h:67
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition TAttFill.h:40
The Canvas class.
Definition TCanvas.h:23
void SetTitle(const char *title) override
Change/set the title.
Definition TH1.cxx:6836
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:613
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:612
2-D histogram with an int per channel (see TH1 documentation)
Definition TH2.h:245
This is the base class for the ROOT Random number generators.
Definition TRandom.h:27
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:274
Basic string class.
Definition TString.h:138
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Definition TString.cxx:2385
RVec< PromoteType< T > > sin(const RVec< T > &v)
Definition RVec.hxx:1847
return c1
Definition legend1.C:41
TH1F * h1
Definition legend1.C:5
return c2
Definition legend2.C:14
return c3
Definition legend3.C:15