Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches

Detailed Description

View in nbviewer Open in SWAN
Pie chart example.

XpŸ,2

void piechart()
{
Float_t vals[] = {.2, 1.1, .6, .9, 2.3};
Int_t colors[] = {2, 3, 4, 5, 6};
Int_t nvals = sizeof(vals) / sizeof(vals[0]);
TCanvas *cpie = new TCanvas("cpie", "TPie test", 700, 700);
cpie->Divide(2, 2);
TPie *pie1 = new TPie("pie1", "Pie with offset and no colors", nvals, vals);
TPie *pie2 = new TPie("pie2", "Pie with radial labels", nvals, vals, colors);
TPie *pie3 = new TPie("pie3", "Pie with tangential labels", nvals, vals, colors);
TPie *pie4 = new TPie("pie4", "Pie with verbose labels", nvals, vals, colors);
cpie->cd(1);
pie1->SetAngularOffset(30.);
pie1->SetEntryRadiusOffset(4, 0.1);
pie1->SetRadius(.35);
pie1->Draw("3d");
cpie->cd(2);
pie2->SetEntryRadiusOffset(2, .05);
pie2->SetEntryLineColor(2, 2);
pie2->SetEntryLineWidth(2, 5);
pie2->SetEntryLineStyle(2, 2);
pie2->SetEntryFillStyle(1, 3030);
pie2->SetCircle(.5, .45, .3);
pie2->Draw("rsc");
cpie->cd(3);
pie3->SetY(.32);
pie3->GetSlice(0)->SetValue(.8);
pie3->GetSlice(1)->SetFillStyle(3031);
pie3->SetLabelsOffset(-.1);
pie3->Draw("3d t nol");
TLegend *pieleg = pie3->MakeLegend();
pieleg->SetY1(.56);
pieleg->SetY2(.86);
cpie->cd(4);
pie4->SetRadius(.2);
pie4->SetLabelsOffset(.01);
pie4->SetLabelFormat("#splitline{%val (%perc)}{%txt}");
pie4->Draw("nol <");
}
int Int_t
Signed integer 4 bytes (int).
Definition RtypesCore.h:59
float Float_t
Float 4 bytes (float).
Definition RtypesCore.h:71
Color * colors
Definition X3DBuffer.c:21
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
Definition TAttFill.h:42
The Canvas class.
Definition TCanvas.h:23
TVirtualPad * cd(Int_t subpadnumber=0) override
Set current canvas & pad.
Definition TCanvas.cxx:716
void Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0) override
Automatic pad generation by division.
Definition TPad.cxx:1295
void SetY1(Double_t y1) override
Set the Y1 value.
Definition TPave.cxx:683
void SetY2(Double_t y2) override
Set the Y2 value.
Definition TPave.cxx:696
void SetValue(Double_t)
Set the value for this slice.
Definition TPie.h:23
TPieSlice * GetSlice(Int_t i)
void SetAngularOffset(Double_t)
void SetEntryFillStyle(Int_t, Int_t)
void SetY(Double_t)
void SetLabelsOffset(Float_t)
void SetEntryRadiusOffset(Int_t, Double_t)
void SetLabelFormat(const char *)
void SetEntryLineStyle(Int_t, Int_t)
void SetEntryLineWidth(Int_t, Int_t)
void SetCircle(Double_t x=.5, Double_t y=.5, Double_t rad=.4)
void SetRadius(Double_t)
TLegend * MakeLegend(Double_t x1=.65, Double_t y1=.65, Double_t x2=.95, Double_t y2=.95, const char *leg_header="")
void Draw(Option_t *option="l") override
Default Draw method for all objects.
void SetEntryLineColor(Int_t, Int_t)
Authors
Olivier Couet, Guido Volpi

Definition in file piechart.C.