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

Detailed Description

View in nbviewer Open in SWAN
Draw 2-Dim functions.

void surfaces()
{
TCanvas *c1 = new TCanvas("c1", "Surfaces Drawing Options", 200, 10, 700, 900);
TPaveText *title = new TPaveText(.2, 0.96, .8, .995);
title->AddText("Examples of Surface options");
title->Draw();
TPad *pad1 = new TPad("pad1", "Gouraud shading", 0.03, 0.50, 0.98, 0.95);
TPad *pad2 = new TPad("pad2", "Color mesh", 0.03, 0.02, 0.98, 0.48);
pad1->Draw();
pad2->Draw();
//
// We generate a 2-D function
TF2 *f2 = new TF2("f2", "x**2 + y**2 - x**3 -8*x*y**4", -1, 1.2, -1.5, 1.5);
f2->SetContour(48);
f2->SetFillColor(45);
// Draw this function in pad1 with Gouraud shading option
pad1->cd();
pad1->SetPhi(-80);
pad1->SetLogz();
f2->Draw("surf4");
// Draw this function in pad2 with color mesh option
pad2->cd();
pad2->SetTheta(25);
pad2->SetPhi(-110);
pad2->SetLogz();
f2->SetLineWidth(1);
f2->SetLineColor(5);
f2->Draw("surf1");
// add axis titles. The titles are set on the intermediate
// histogram used for visualisation. We must force this histogram
// to be created, then force the redrawing of the two pads
pad2->Update();
f2->GetHistogram()->GetXaxis()->SetTitle("x title");
f2->GetHistogram()->GetYaxis()->SetTitle("y title");
pad1->Modified();
pad2->Modified();
}
virtual void SetTitleOffset(Float_t offset=1)
Set distance between the axis and the axis title.
Definition TAttAxis.cxx:279
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition TAttFill.h:40
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
Definition TAttLine.h:47
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Definition TAttLine.h:44
The Canvas class.
Definition TCanvas.h:23
virtual TH1 * GetHistogram() const
Definition TF2.h:29
virtual void SetContour(Int_t nlevels=20, const Double_t *levels=nullptr)
void Draw(Option_t *option="") override
Default Draw method for all objects.
TAxis * GetXaxis()
Definition TH1.h:571
TAxis * GetYaxis()
Definition TH1.h:572
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Definition TNamed.cxx:173
The most important graphics class in the ROOT system.
Definition TPad.h:28
void SetLogz(Int_t value=1) override
Set Lin/Log scale for Z.
Definition TPad.cxx:6073
void Update() override
Update pad.
Definition TPad.cxx:2962
void SetPhi(Double_t phi=30) override
Definition TPad.h:366
void Modified(Bool_t flag=true) override
Mark pad modified Will be repainted when TCanvas::Update() will be called next time.
Definition TPad.cxx:7351
TVirtualPad * cd(Int_t subpadnumber=0) override
Set Current pad.
Definition TPad.cxx:694
void Draw(Option_t *option="") override
Draw Pad in Current pad (re-parent pad if necessary).
Definition TPad.cxx:1512
void SetTheta(Double_t theta=30) override
Definition TPad.h:365
return c1
Definition legend1.C:41
Author
Rene Brun

Definition in file surfaces.C.