Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
hist028_THStack_multicolor.C File Reference

Detailed Description

View in nbviewer Open in SWAN
Use a THStack to show a 2-D hist with cells with different colors.

root > .x multicolor.C
root > .x multicolor.C(1)
#include "TCanvas.h"
#include "TH2.h"
#include "THStack.h"
#include "TRandom.h"
{
TCanvas *c1 = new TCanvas;
Int_t nbins = 20;
TH2F *h1 = new TH2F("h1", "h1", nbins, -4, 4, nbins, -4, 4);
TH2F *h2 = new TH2F("h2", "h2", nbins, -4, 4, nbins, -4, 4);
h2->SetFillColor(kRed);
TH2F *h3 = new TH2F("h3", "h3", nbins, -4, 4, nbins, -4, 4);
h3->SetFillColor(kYellow);
THStack *hs = new THStack("hs", "three plots");
hs->Add(h1);
hs->Add(h2);
hs->Add(h3);
Int_t i;
for (i = 0; i < 20000; i++)
h1->Fill(r.Gaus(), r.Gaus());
for (i = 0; i < 200; i++) {
Int_t ix = (Int_t)r.Uniform(0, nbins);
Int_t iy = (Int_t)r.Uniform(0, nbins);
Int_t bin = h1->GetBin(ix, iy);
Double_t val = h1->GetBinContent(bin);
if (val <= 0)
continue;
if (!isStack)
h1->SetBinContent(bin, 0);
if (r.Rndm() > 0.5) {
if (!isStack)
h2->SetBinContent(bin, 0);
h3->SetBinContent(bin, val);
} else {
if (!isStack)
h3->SetBinContent(bin, 0);
h2->SetBinContent(bin, val);
}
}
hs->Draw("lego1");
}
int Int_t
Definition RtypesCore.h:45
double Double_t
Definition RtypesCore.h:59
@ kRed
Definition Rtypes.h:66
@ kBlue
Definition Rtypes.h:66
@ kYellow
Definition Rtypes.h:66
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
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 r
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition TAttFill.h:38
The Canvas class.
Definition TCanvas.h:23
virtual Int_t GetBin(Int_t binx, Int_t biny=0, Int_t binz=0) const
Return Global bin number corresponding to binx,y,z.
Definition TH1.cxx:4959
virtual Int_t Fill(Double_t x)
Increment bin with abscissa X by 1.
Definition TH1.cxx:3315
virtual void SetBinContent(Int_t bin, Double_t content)
Set bin content see convention for numbering bins in TH1::GetBin In case the bin number is greater th...
Definition TH1.cxx:9224
virtual Double_t GetBinContent(Int_t bin) const
Return content of bin number bin.
Definition TH1.cxx:5059
2-D histogram with a float per channel (see TH1 documentation)
Definition TH2.h:307
The Histogram stack class.
Definition THStack.h:40
This is the base class for the ROOT Random number generators.
Definition TRandom.h:27
return c1
Definition legend1.C:41
TH1F * h1
Definition legend1.C:5
Date
August 2016
Author
Rene Brun

Definition in file hist028_THStack_multicolor.C.