Logo ROOT  
Reference Guide
surfaces.C File Reference

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();
}
Author
Rene Brun

Definition in file surfaces.C.

TF1::GetHistogram
virtual TH1 * GetHistogram() const
Return a pointer to the histogram used to visualise the function.
Definition: TF1.cxx:1585
TPad
Definition: TPad.h:26
TPad::SetPhi
virtual void SetPhi(Double_t phi=30)
Definition: TPad.h:352
TF2::SetContour
virtual void SetContour(Int_t nlevels=20, const Double_t *levels=0)
Set the number and values of contour levels.
Definition: TF2.cxx:897
TPad::SetLogz
virtual void SetLogz(Int_t value=1)
Set Lin/Log scale for Z.
Definition: TPad.cxx:5916
TPad::Modified
void Modified(Bool_t flag=1)
Definition: TPad.h:414
TPaveText::Draw
virtual void Draw(Option_t *option="")
Draw this pavetext with its current attributes.
Definition: TPaveText.cxx:234
TH1::GetYaxis
TAxis * GetYaxis()
Definition: TH1.h:318
surfaces
Definition: surfaces.py:1
TF2::Draw
virtual void Draw(Option_t *option="")
Draw this function with its current attributes.
Definition: TF2.cxx:241
TNamed::SetTitle
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
Definition: TNamed.cxx:164
TPad::SetTheta
virtual void SetTheta(Double_t theta=30)
Definition: TPad.h:351
TPad::Update
virtual void Update()
Update pad.
Definition: TPad.cxx:2839
TPaveText::AddText
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
Definition: TPaveText.cxx:183
TF2
Definition: TF2.h:29
TCanvas
Definition: TCanvas.h:23
TPad::cd
TVirtualPad * cd(Int_t subpadnumber=0)
Set Current pad.
Definition: TPad.cxx:594
TPaveText
Definition: TPaveText.h:21
TAttAxis::SetTitleOffset
virtual void SetTitleOffset(Float_t offset=1)
Set distance between the axis and the axis title.
Definition: TAttAxis.cxx:293
TH1::GetXaxis
TAxis * GetXaxis()
Get the behaviour adopted by the object about the statoverflows. See EStatOverflows for more informat...
Definition: TH1.h:317
c1
return c1
Definition: legend1.C:41
TPad::Draw
virtual void Draw(Option_t *option="")
Draw Pad in Current pad (re-parent pad if necessary).
Definition: TPad.cxx:1285