ROOT
v6-30
Reference Guide
Loading...
Searching...
No Matches
hbars.C File Reference
Tutorials
»
Histograms tutorials
Detailed Description
Example of bar charts with 1-d histograms.
TCanvas
*hbars()
{
// Try to open first the file cernstaff.root in tutorials/tree directory
TString
filedir =
gROOT
->GetTutorialDir();
filedir +=
TString
(
"/tree/"
);
TString
filename
=
"cernstaff.root"
;
bool
fileNotFound =
gSystem
->
AccessPathName
(
filename
);
// note opposite return code
// If file is not found try to generate it using the macro tree/cernbuild.C
if
(fileNotFound) {
TString
macroName = filedir +
"cernbuild.C"
;
if
(!
gInterpreter
->IsLoaded(macroName))
gInterpreter
->LoadMacro(macroName);
gROOT
->ProcessLineFast(
"cernbuild()"
);
}
TFile
*
f
=
TFile::Open
(
filename
);
if
(!
f
) {
Error
(
"hbars"
,
"file cernstaff.root not found"
);
return
nullptr
;
}
TTree
*
T
= (
TTree
*)
f
->Get(
"T"
);
if
(!T) {
Error
(
"hbars"
,
"Tree T is not present in file %s"
,
f
->GetName());
return
nullptr
;
}
T
->SetFillColor(45);
TCanvas
*
c1
=
new
TCanvas
(
"c1"
,
"histograms with bars"
,700,800);
c1
->SetFillColor(42);
c1
->Divide(1,2);
// Horizontal bar chart
c1
->cd(1);
gPad
->SetGrid();
gPad
->SetLogx();
gPad
->SetFrameFillColor(33);
T
->Draw(
"Nation"
,
""
,
"hbar2"
);
// Vertical bar chart
c1
->cd(2);
gPad
->SetGrid();
gPad
->SetFrameFillColor(33);
T
->Draw(
"Division>>hDiv"
,
""
,
"goff"
);
TH1F
*hDiv = (
TH1F
*)
gDirectory
->Get(
"hDiv"
);
hDiv->
SetStats
(0);
TH1F
*hDivFR = (
TH1F
*)hDiv->
Clone
(
"hDivFR"
);
T
->Draw(
"Division>>hDivFR"
,
"Nation==\"FR\""
,
"goff"
);
hDiv->
SetBarWidth
(0.45);
hDiv->
SetBarOffset
(0.1);
hDiv->
SetFillColor
(49);
TH1
*
h1
= hDiv->
DrawCopy
(
"bar2"
);
hDivFR->
SetBarWidth
(0.4);
hDivFR->
SetBarOffset
(0.55);
hDivFR->
SetFillColor
(50);
TH1
*h2 = hDivFR->
DrawCopy
(
"bar2,same"
);
TLegend
*legend =
new
TLegend
(0.55,0.65,0.76,0.82);
legend->
AddEntry
(
h1
,
"All nations"
,
"f"
);
legend->
AddEntry
(h2,
"French only"
,
"f"
);
legend->
Draw
();
c1
->cd();
delete
f
;
return
c1
;
}
f
#define f(i)
Definition
RSha256.hxx:104
gDirectory
#define gDirectory
Definition
TDirectory.h:384
Error
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
Definition
TError.cxx:185
filename
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char filename
Definition
TGWin32VirtualXProxy.cxx:232
gInterpreter
#define gInterpreter
Definition
TInterpreter.h:574
gROOT
#define gROOT
Definition
TROOT.h:407
gSystem
R__EXTERN TSystem * gSystem
Definition
TSystem.h:560
gPad
#define gPad
Definition
TVirtualPad.h:305
TAttFill::SetFillColor
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition
TAttFill.h:37
TCanvas
The Canvas class.
Definition
TCanvas.h:23
TFile
A ROOT file is composed of a header, followed by consecutive data records (TKey instances) with a wel...
Definition
TFile.h:53
TFile::Open
static TFile * Open(const char *name, Option_t *option="", const char *ftitle="", Int_t compress=ROOT::RCompressionSetting::EDefaults::kUseCompiledDefault, Int_t netopt=0)
Create / open a file.
Definition
TFile.cxx:4075
TH1F
1-D histogram with a float per channel (see TH1 documentation)}
Definition
TH1.h:577
TH1
TH1 is the base class of all histogram classes in ROOT.
Definition
TH1.h:58
TH1::SetBarOffset
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:361
TH1::DrawCopy
virtual TH1 * DrawCopy(Option_t *option="", const char *name_postfix="_copy") const
Copy this histogram and Draw in the current pad.
Definition
TH1.cxx:3114
TH1::Clone
TObject * Clone(const char *newname="") const override
Make a complete copy of the underlying object.
Definition
TH1.cxx:2734
TH1::SetBarWidth
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:362
TH1::SetStats
virtual void SetStats(Bool_t stats=kTRUE)
Set statistics option on/off.
Definition
TH1.cxx:8907
TLegend
This class displays a legend box (TPaveText) containing several legend entries.
Definition
TLegend.h:23
TLegend::AddEntry
TLegendEntry * AddEntry(const TObject *obj, const char *label="", Option_t *option="lpf")
Add a new entry to this legend.
Definition
TLegend.cxx:317
TLegend::Draw
void Draw(Option_t *option="") override
Draw this legend with its current attributes.
Definition
TLegend.cxx:422
TString
Basic string class.
Definition
TString.h:139
TSystem::AccessPathName
virtual Bool_t AccessPathName(const char *path, EAccessMode mode=kFileExists)
Returns FALSE if one can access a file using the specified access mode.
Definition
TSystem.cxx:1283
TTree
A TTree represents a columnar dataset.
Definition
TTree.h:79
c1
return c1
Definition
legend1.C:41
h1
TH1F * h1
Definition
legend1.C:5
ROOT::Math::Chebyshev::T
double T(double x)
Definition
ChebyshevPol.h:34
Author
Rene Brun
Definition in file
hbars.C
.
tutorials
hist
hbars.C
ROOT v6-30 - Reference Guide Generated on Tue Oct 29 2024 12:56:08 (GVA Time) using Doxygen 1.9.8