137 fAxis.ImportAxisAttributes(zaxis);
166 fAxis.ImportAxisAttributes(ax);
184 palette.TPaletteAxis::Copy(*
this);
194 orig.TPaletteAxis::Copy(*
this);
217 if (px > plxmax && px < plxmax + 30 && py >= plymax && py <= plymin)
return px - plxmax;
231 static Int_t kmode = 0;
234 if (kmode != 0 || px <= plxmax) {
251 static Int_t px1old, py1old, px2old, py2old;
274 if (
gROOT->IsEscaped()) {
290 if (ratio2 - ratio1 > 0.05) {
292 if (
fH->GetDimension() == 2) {
301 Double_t newmin = zmin + (zmax - zmin) * ratio1;
302 Double_t newmax = zmin + (zmax - zmin) * ratio2;
303 if (newmin < zmin)newmin =
fH->GetBinContent(
fH->GetMinimumBin());
304 if (newmax > zmax)newmax =
fH->GetBinContent(
fH->GetMaximumBin());
309 fH->SetMinimum(newmin);
310 fH->SetMaximum(newmax);
334 if (
fLog == 0)
return gPad->GetLogz();
369 static char info[64];
374 zmin =
fH->GetMinimum();
375 zmax =
fH->GetMaximum();
432 if (
fH) ndivz =
fH->GetContour();
433 if (ndivz == 0)
return 0;
435 Int_t theColor, color;
436 Double_t scale = ndivz / (wlmax - wlmin);
439 if (zc < wlmin) zc = wlmin;
441 color =
Int_t(0.01 + (zc - wlmin) * scale);
444 return gStyle->GetColorPalette(theColor);
471 Bool_t kHorizontal =
false;
473 if ((wlmax - wlmin) <= 0) {
475 if (mz == 0) mz = 0.1;
492 if (
fH) ndivz =
fH->GetContour();
493 else ndivz = ncolors;
494 if (ndivz == 0)
return;
496 Int_t theColor, color;
498 if (
fH &&
fH->GetDimension() == 2) {
499 fAxis.ImportAxisAttributes(
fH->GetZaxis());
501 if (ztit.
Index(
";")>0) {
507 if (
fH &&
fH->GetDimension() > 2) {
508 TString ztit =
fH->GetZaxis()->GetTitle();
510 if (ztit.
Index(
";")>0) {
528 line->SetLineColor(
fAxis.GetLineColor());
533 Double_t scale = ndivz / (wlmax - wlmin);
534 Double_t dw = (wlmax - wlmin) / ndivz;
535 for (
Int_t i = 0; i < ndivz; i++) {
537 if (
fH) zc =
fH->GetContourLevel(i);
538 else zc = wlmin + i*dw;
542 if (w1 < wlmin) w1 = wlmin;
546 if (
fH) zc =
fH->GetContourLevel(i + 1);
547 else zc = wlmin + (i+1)*dw;
553 if (w2 <= wlmin)
continue;
565 color =
Int_t(0.01 + (w1 - wlmin) * scale);
585 if (i == 0 || (b1 - prevlab) > 1.5*lsize_user) {
590 if (kHorizontal)
line->PaintLine(b2,
ymin+tlength, b2,
ymin);
594 if (
fH && (b2 - prevlab > 1.5*lsize_user)) {
598 if (kHorizontal)
line->PaintLine(b1,
ymin+tlength, b1,
ymin);
606 if (
fH) ndiv =
fH->GetZaxis()->GetNdivisions();
607 else ndiv =
fAxis.GetNdiv();
608 Bool_t isOptimized = ndiv>0;
609 Int_t absDiv = abs(ndiv);
610 Int_t maxD = absDiv/1000000;
611 ndiv = absDiv%100 + maxD*1000000;
612 if (!isOptimized) ndiv = -ndiv;
614 char chopt[6] =
"S ";
616 strncat(chopt,
"+L", 3);
619 strncat(chopt,
"N", 2);
624 strncat(chopt,
"G", 2);
647 out <<
" palette->SetNdivisions(" <<
fH->GetZaxis()->GetNdivisions() <<
");\n";
650 out <<
" palette->SetLabelFont(" <<
fH->GetZaxis()->GetLabelFont() <<
");\n";
651 out <<
" palette->SetLabelOffset(" <<
fH->GetZaxis()->GetLabelOffset() <<
");\n";
652 out <<
" palette->SetLabelSize(" <<
fH->GetZaxis()->GetLabelSize() <<
");\n";
653 out <<
" palette->SetMaxDigits(" <<
fH->GetZaxis()->GetMaxDigits() <<
");\n";
654 out <<
" palette->SetTickLength(" <<
fH->GetZaxis()->GetTickLength() <<
");\n";
655 out <<
" palette->SetTitleOffset(" <<
fH->GetZaxis()->GetTitleOffset() <<
");\n";
656 out <<
" palette->SetTitleSize(" <<
fH->GetZaxis()->GetTitleSize() <<
");\n";
658 out <<
" palette->SetTitleFont(" <<
fH->GetZaxis()->GetTitleFont() <<
");\n";
673 gPad->SetView(
nullptr);
674 fH->GetZaxis()->SetRange(0, 0);
675 if (
fH->GetDimension() == 2) {
bool Bool_t
Boolean (0=false, 1=true) (bool)
int Int_t
Signed integer 4 bytes (int)
double Double_t
Double 8 bytes.
const char Option_t
Option string (const char)
Option_t Option_t SetFillStyle
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t wmin
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
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 char Point_t Rectangle_t wmax
Option_t Option_t TPoint TPoint const char y1
R__EXTERN TStyle * gStyle
virtual void Modify()
Change current fill area attributes if necessary.
virtual void SaveFillAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
Save fill attributes as C++ statement(s) on output stream out.
virtual void SaveLineAttributes(std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
Save line attributes as C++ statement(s) on output stream out.
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
virtual void SetTextColor(Color_t tcolor=1)
Set the text color.
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
Class to manage histogram axis.
Double_t fX1
X of 1st point.
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to one event.
Double_t fY2
Y of 2nd point.
Double_t fX2
X of 2nd point.
Double_t fY1
Y of 1st point.
static TString SavePrimitiveColor(Int_t ci)
Convert color in C++ statement which can be used in SetColor directives Produced statement either inc...
TH1 is the base class of all histogram classes in ROOT.
@ kUserContour
User specified contour levels.
@ kIsZoomed
Bit set when zooming on Y axis.
To draw Mathematical Formula.
virtual void PaintLatex(Double_t x, Double_t y, Double_t angle, Double_t size, const char *text)
Main drawing function.
Use the TLine constructor to create a simple line.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
TObject()
TObject constructor.
static void SavePrimitiveConstructor(std::ostream &out, TClass *cl, const char *variable_name, const char *constructor_agrs="", Bool_t empty_line=kTRUE)
Save object constructor in the output stream "out".
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save primitive as a C++ statement(s) on output stream out.
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Check if mouse on the axis region.
void Paint(Option_t *option="") override
Paint the palette.
TGaxis fAxis
Palette axis.
TPaletteAxis & operator=(const TPaletteAxis &)
Assignment operator.
~TPaletteAxis() override
Palette destructor.
char * GetObjectInfo(Int_t px, Int_t py) const override
Displays the z value corresponding to cursor position py.
TPaletteAxis()
Palette default constructor.
Int_t GetBinColor(Int_t i, Int_t j)
Returns the color index of the bin (i,j).
void Copy(TObject &palette) const override
Copy a palette to a palette.
TH1 * fH
! Pointer to parent histogram
virtual void UnZoom()
Unzoom the palette.
Int_t fLog
Log option: 0 use Logz, 1 is linear, 2 is log.
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Check if mouse on the axis region.
Int_t GetLog() const
Returns whether the palette is in log scale.
Int_t GetValueColor(Double_t zc)
Returns the color index of the given z value.
TPave()
Pave default constructor.
Double_t GetY2NDC() const
virtual void ConvertNDCtoPad()
Convert pave coordinates from NDC to Pad coordinates.
Double_t GetX2NDC() const
TString GetSavePaveArgs(const char *extra_arg=nullptr, Bool_t save_option=kTRUE)
Returns arguments which should be used when saving primitive constructor Check if coordinates are ini...
void Copy(TObject &pave) const override
Copy this pave to pave.
virtual void SetName(const char *name="")
Double_t fX2NDC
X2 point in NDC coordinates.
Double_t GetY1NDC() const
Double_t fY2NDC
Y2 point in NDC coordinates.
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Compute distance from point px,py to a pave.
Double_t fX1NDC
X1 point in NDC coordinates.
Double_t fY1NDC
Y1 point in NDC coordinates.
Double_t GetX1NDC() const
TString & ReplaceSpecialCppChars()
Find special characters which are typically used in printf() calls and replace them by appropriate es...
const char * Data() const
TString & Remove(Ssiz_t pos)
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Ssiz_t Index(const char *pat, Ssiz_t i=0, ECaseCompare cmp=kExact) const
Double_t Exp(Double_t x)
Returns the base-e exponential function of x, which is e raised to the power x.
LongDouble_t Power(LongDouble_t x, LongDouble_t y)
Returns x raised to the power y.
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
Double_t Log10(Double_t x)
Returns the common (base-10) logarithm of x.
Short_t Abs(Short_t d)
Returns the absolute value of parameter Short_t d.