66 Init(1, 0, 0.5, 0.5, 0.4);
125 const TAxis *axis =
h->GetXaxis();
129 Init(
np, 0, 0.5, 0.5, 0.4);
131 for (i=first; i<=last; ++i)
fPieSlices[i-first]->SetValue(
h->GetBinContent(i));
192 if (!
gPad)
return 9999;
285 if (!
gPad->IsEditable())
gROOT->MakeDefCanvas();
286 if (!
soption.Contains(
"same")) {
288 gPad->Range(0.,0.,1.,1.);
340 gPad->XtoAbsPixel(x0),
gPad->YtoAbsPixel(
y0) );
344 gPad->XtoAbsPixel(x0),
389 gPad->XtoAbsPixel(x0),
gPad->YtoAbsPixel(
y0) );
579 if (
gROOT->IsEscaped()) {
617 event =
gVirtualX->RequestLocator(1, 1, px, py);
827 if ( (idx=
soption.Index(
"same"))>=0 ) {
832 if ( (idx=
soption.Index(
"nol"))>=0 ) {
837 if ( (idx=
soption.Index(
"sc"))>=0 ) {
843 if ( (idx=
soption.Index(
"3d"))>=0 ) {
851 if ( (idx=
soption.Index(
"t"))>=0 ) {
857 if ( (idx=
soption.Index(
"r"))>=0 ) {
863 if ( (idx=
soption.Index(
">"))>=0 ) {
869 if ( (idx=
soption.Index(
"<"))>=0 ) {
880 Warning(
"Paint",
"No valid arrays of values");
1018 }
else if (
lblor==2) {
1052 if (
auto obj =
gPad->GetListOfPrimitives()->FindObject(
"title")) {
1058 if (title)
delete title;
1066 if (
ht<=0)
ht = 0.05;
1122 out <<
" " << std::endl;
1129 <<
"\", " <<
fNvals <<
");" << std::endl;
1130 out <<
" pie->SetCircle(" <<
fX <<
", " <<
fY <<
", " <<
fRadius <<
");" << std::endl;
1131 out <<
" pie->SetValueFormat(\"" <<
GetValueFormat() <<
"\");" << std::endl;
1132 out <<
" pie->SetLabelFormat(\"" <<
GetLabelFormat() <<
"\");" << std::endl;
1133 out <<
" pie->SetPercentFormat(\"" <<
GetPercentFormat() <<
"\");" << std::endl;
1134 out <<
" pie->SetLabelsOffset(" <<
GetLabelsOffset() <<
");" << std::endl;
1135 out <<
" pie->SetAngularOffset(" <<
GetAngularOffset() <<
");" << std::endl;
1145 out <<
" pie->Draw(\"" <<
option <<
"\");" << std::endl;
1154 while (val>360.) val -= 360.;
1155 while (val<0) val += 360.;
1156 if (val>=90 && val<180) val = 180-val;
1157 else if (val>=180 && val<=360) val = 360-val;
1347 "It's not possible set the radius to a negative value");
1389 "Negative values in TPie, absolute value will be used");
1395 if (
fSum<=.0)
return;
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t SetTextSize
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 Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
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 np
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
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 result
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize id
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Option_t Option_t SetTextFont
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void xpos
Option_t Option_t TPoint TPoint const char y2
Option_t Option_t SetFillColor
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void ypos
Option_t Option_t TPoint TPoint const char text
Option_t Option_t TPoint TPoint const char y1
R__EXTERN TStyle * gStyle
virtual Color_t GetLabelColor() const
virtual Style_t GetLabelFont() const
virtual Float_t GetLabelSize() const
virtual Color_t GetFillColor() const
Return the fill area color.
virtual Style_t GetFillStyle() const
Return the fill area style.
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
virtual void SetFillStyle(Style_t fstyle)
Set the fill area style.
virtual Color_t GetLineColor() const
Return the line color.
virtual void SetLineStyle(Style_t lstyle)
Set the line style.
virtual Width_t GetLineWidth() const
Return the line width.
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
virtual void SetLineColor(Color_t lcolor)
Set the line color.
virtual Style_t GetLineStyle() const
Return the line style.
virtual Float_t GetTextSize() const
Return the text size.
virtual Font_t GetTextFont() const
Return the text font.
virtual Color_t GetTextColor() const
Return the text color.
virtual Float_t GetTextAngle() const
Return the text angle.
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
virtual void SaveTextAttributes(std::ostream &out, const char *name, Int_t alidef=12, Float_t angdef=0, Int_t coldef=1, Int_t fondef=61, Float_t sizdef=1)
Save text attributes as C++ statement(s) on output stream out.
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
Class to manage histogram axis.
const char * GetBinLabel(Int_t bin) const
Return label for bin.
Int_t GetLast() const
Return last bin on the axis i.e.
Int_t GetFirst() const
Return first bin on the axis i.e.
THashList * GetLabels() const
static Int_t GetColorDark(Int_t color)
Static function: Returns the dark color number corresponding to n If the TColor object does not exist...
TH1 is the base class of all histogram classes in ROOT.
To draw Mathematical Formula.
This class displays a legend box (TPaveText) containing several legend entries.
TLegendEntry * AddEntry(const TObject *obj, const char *label="", Option_t *option="lpf")
Add a new entry to this legend.
void Draw(Option_t *option="") override
Draw this legend with its current attributes.
void Clear(Option_t *option="") override
Clear all entries in this legend, including the header.
Use the TLine constructor to create a simple line.
virtual void PaintLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
Draw this line with new coordinates.
The TNamed class is the base class for all named ROOT classes.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual void AppendPad(Option_t *option="")
Append graphics object to current pad.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
@ kCanDelete
if object in a list can be deleted
A Pave (see TPave) with text, lines or/and boxes inside.
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
void Draw(Option_t *option="") override
Draw this pavetext with its current attributes.
void Paint(Option_t *option="") override
Paint this pavetext with its current attributes.
virtual TText * GetLine(Int_t number) const
Get Pointer to line number in this pavetext.
virtual void SetName(const char *name="")
virtual void SetBorderSize(Int_t bordersize=4)
Sets the border size of the TPave box and shadow.
Double_t GetX1NDC() const
virtual void SetX2NDC(Double_t x2)
A slice of a piechart, see the TPie class.
void SetValue(Double_t)
Set the value for this slice.
Double_t GetRadiusOffset() const
return the value of the offset in radial direction for this slice.
void SetIsActive(Bool_t is)
Double_t GetValue() const
Return the value of this slice.
void SavePrimitive(std::ostream &out, Option_t *opts="") override
Save as C++ macro, used directly from TPie.
void SetRadiusOffset(Double_t)
Set the radial offset of this slice.
void SetEntryVal(Int_t, Double_t)
Set the value of a slice.
TPieSlice * GetSlice(Int_t i)
Return the reference to the slice of index 'id'.
Float_t fLabelsOffset
LabelsOffset offset of label.
void SetAngularOffset(Double_t)
Set the global angular offset for slices in degree [0,360].
void Paint(Option_t *) override
Paint a Pie chart in a canvas.
Double_t GetEntryVal(Int_t)
Return the value associated with the slice number "i".
TString fLabelFormat
Format format of the slices' label.
Float_t * fSlices
!Subdivisions of the slices
void SetX(Double_t)
Set X value.
Double_t fAngularOffset
Offset angular offset for the first slice.
void SortSlices(Bool_t amode=kTRUE, Float_t merge_thresold=.0)
This method, mainly intended for internal use, ordered the slices according their values.
void SetEntryFillStyle(Int_t, Int_t)
Set the fill style for the "i" slice.
TPie()
Default constructor.
~TPie() override
Destructor.
void SetFractionFormat(const char *)
Set numeric format in the label, is used if the label format there is the modifier frac,...
Float_t fAngle3D
The angle of the pseudo-3d view.
Double_t fHeight
Height of the slice in pixel.
const char * GetPercentFormat()
void SetPercentFormat(const char *)
Set the numeric format for the percent value of a slice, default: %3.1f.
void SetLabels(const char *[])
Set the labels for all the slices.
void SetY(Double_t)
Set Y value.
TLegend * GetLegend()
If created before by Paint option or by MakeLegend method return the pointer to the legend,...
Bool_t fIs3D
! true if the pseudo-3d is enabled
void Init(Int_t np, Double_t ao, Double_t x, Double_t y, Double_t r)
Common initialization for all constructors.
Int_t GetEntryFillColor(Int_t)
Return the color of the slice number "i".
void SetLabelsOffset(Float_t)
Set the distance between the label end the external line of the TPie.
void SetEntryRadiusOffset(Int_t, Double_t)
Set the distance, in the direction of the radius of the slice.
Double_t GetAngularOffset()
void DrawGhost()
This method is for internal use.
Float_t GetLabelsOffset()
TLegend * fLegend
!Legend for this piechart
void SetLabelFormat(const char *)
This method is used to customize the label format.
Double_t fRadius
Radius Pie radius.
TPieSlice ** fPieSlices
[fNvals] Slice array of this pie-chart
void ExecuteEvent(Int_t, Int_t, Int_t) override
Execute the mouse events.
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Evaluate the distance to the chart in gPad.
void SetEntryLineStyle(Int_t, Int_t)
Set the style for the slice's outline. "i" is the slice number.
void MakeSlices(Bool_t force=kFALSE)
Make the slices.
void SetEntryFillColor(Int_t, Int_t)
Set the color for the slice "i".
void SetEntryLineWidth(Int_t, Int_t)
Set the width of the slice's outline. "i" is the slice number.
const char * GetLabelFormat()
void SetCircle(Double_t x=.5, Double_t y=.5, Double_t rad=.4)
Set the coordinates of the circle that describe the pie:
const char * GetEntryLabel(Int_t)
Returns the label of the entry number "i".
TString fValueFormat
Vform numeric format for the value.
TString fFractionFormat
Rform numeric format for the fraction of a slice.
void SetAngle3D(Float_t val=30.)
Set the value of for the pseudo 3D view angle, in degree.
Double_t GetEntryRadiusOffset(Int_t)
Return the radial offset's value for the slice number "i".
Int_t GetEntryFillStyle(Int_t)
Return the style use to fill the slice number "i".
const char * GetValueFormat()
void SetRadius(Double_t)
Set the pie chart's radius' value.
void SavePrimitive(std::ostream &out, Option_t *opts="") override
Save primitive as a C++ statement(s) on output stream out.
TString fPercentFormat
Pfrom numeric format for the percent of a slice.
TLegend * MakeLegend(Double_t x1=.65, Double_t y1=.65, Double_t x2=.95, Double_t y2=.95, const char *leg_header="")
This method create a legend that explains the contents of the slice for this pie-chart.
Int_t fNvals
Number of elements.
Int_t DistancetoSlice(Int_t, Int_t)
Returns the slice number at the pixel position (px,py).
Int_t GetEntryLineStyle(Int_t)
Return the style used to outline thi "i" slice.
Float_t fSum
!Sum for the slice values
Double_t fY
Y coordinate of the pie centre.
void SetEntryLabel(Int_t, const char *text="Slice")
Set slice number "i" label.
Double_t fX
X coordinate of the pie centre.
void SetHeight(Double_t val=.08)
Set the height, in pixel, for the piechart if is drawn using the pseudo-3d mode.
Int_t GetEntryLineWidth(Int_t)
Return the line width used to outline thi "i" slice.
Int_t GetEntryLineColor(Int_t)
Return the line color used to outline thi "i" slice.
void Draw(Option_t *option="l") override
Draw the pie chart.
void SetValueFormat(const char *)
Set the numeric format the slices' values.
void SetEntryLineColor(Int_t, Int_t)
Set the color for the slice's outline. "i" is the slice number.
void SetFillColors(Int_t *)
Set the fill colors for all the TPie's slices.
const char * Data() const
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Float_t GetTitleX() const
Int_t GetOptTitle() const
Float_t GetTitleY() const
Style_t GetTitleFont(Option_t *axis="X") const
Return title font.
Color_t GetTitleFillColor() const
Style_t GetTitleStyle() const
Float_t GetLabelOffset(Option_t *axis="X") const
Return label offset.
Width_t GetTitleBorderSize() const
Int_t GetColorPalette(Int_t i) const
Return color number i in current palette.
Color_t GetTitleTextColor() const
Float_t GetTitleH() const
Float_t GetTitleFontSize() const
Int_t GetTitleAlign() const
Float_t GetTitleW() const
Base class for several text objects.
Short_t Max(Short_t a, Short_t b)
Returns the largest of a and b.
constexpr Double_t PiOver2()
Double_t ATan2(Double_t y, Double_t x)
Returns the principal value of the arc tangent of y/x, expressed in radians.
Double_t Sqrt(Double_t x)
Returns the square root of x.
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
constexpr Double_t PiOver4()
Double_t Cos(Double_t)
Returns the cosine of an angle of x radians.
Double_t Sin(Double_t)
Returns the sine of an angle of x radians.
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.
constexpr Double_t TwoPi()