Loading [MathJax]/extensions/tex2jax.js
Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
logscales.C File Reference

Detailed Description

View in nbviewer Open in SWAN Draw parametric functions with log scales.

void logscales() {
TCanvas *c1 = new TCanvas("c1", "Various options on LOG scales plots",0,0,700,900);
c1->SetFillColor(30);
TPad *pad1 = new TPad("pad1","pad1",0.03,0.62,0.50,0.92,32);
TPad *pad2 = new TPad("pad2","pad2",0.51,0.62,0.98,0.92,33);
TPad *pad3 = new TPad("pad3","pad3",0.03,0.02,0.97,0.535,38);
pad1->Draw(); pad2->Draw(); pad3->Draw();
TPaveLabel *title = new TPaveLabel(0.1,0.94,0.9,0.98, "Various options on LOG scales plots");
title->SetFillColor(16);
title->SetTextFont(42);
title->Draw();
TPaveText *pave = new TPaveText(0.1,0.55,0.9,0.61);
pave->SetFillColor(42);
pave->SetTextAlign(12);
pave->SetTextFont(42);
pave->AddText("When more Log labels are requested, the overlapping labels are removed");
pave->Draw();
pad1->cd();
pad1->SetLogy();
pad1->SetGridy();
TF1 *f1 = new TF1("f1","x*sin(x)*exp(-0.1*x)+15",-10.,10.);
TF1 *f2 = new TF1("f2","(sin(x)+cos(x))**5+15",-10.,10.);
TF1 *f3 = new TF1("f3","(sin(x)/(x)-x*cos(x))+15",-10.,10.);
f2->SetLineWidth(1); f2->SetLineColor(3);
f3->SetLineWidth(1); f3->SetLineColor(4);
f1->Draw();
f2->Draw("same");
f3->Draw("same");
TPaveText *pave1 = new TPaveText(-6,2,6,6);
pave1->SetFillColor(42);
pave1->SetTextAlign(12);
pave1->SetTextFont(42);
pave1->AddText("Log scale along Y axis.");
pave1->AddText("More Log labels requested.");
pave1->Draw();
pad2->cd();
double x[10] = { 200, 300, 400, 500, 600, 650, 700, 710, 900,1000 };
double y[10] = { 200, 1000, 900, 400, 500, 250, 800, 150, 201, 220 };
TGraph *g_2 = new TGraph(10,x,y);
g_2->Draw("AL*");
g_2->SetMarkerColor(2);
pad2->SetLogy();
pad2->SetLogx();
pad2->SetGridx();
TPaveText *pave2 = new TPaveText(150,80,500,180);
pave2->SetFillColor(42);
pave2->SetTextFont(42);
pave2->SetTextAlign(12);
pave2->AddText("Log scale along X and Y axis.");
pave2->AddText("More Log labels on both.");
pave2->AddText("No exponent along Y axis.");
pave2->Draw();
pad3->cd();
pad3->SetGridx();
pad3->SetGridy();
pad3->SetLogy();
pad3->SetLogx();
TF1 *f4 = new TF1("f4a","x*sin(x+10)+25",1,21);
f4->SetLineWidth(1);
f4->Draw();
f4->SetNpx(200);
f4 = new TF1("f4b","x*cos(x+10)*sin(x+10)+25",1,21);
f4->SetLineWidth(1); f4->Draw("same");
f4->SetNpx(200);
Int_t a = 20;
for (int i=a; i>=1; i--) {
f4 = new TF1(Form("f4b_%d",i),"x*sin(x+10)*[0]/[1]+25",1,21);
f4->SetParameter(0,i);
f4->SetParameter(1,a);
f4->SetNpx(200);
f4->SetLineWidth(1); f4->SetLineColor(i+10);
f4->Draw("same");
f4 = new TF1(Form("f4c_%d",i),"x*cos(x+10)*sin(x+10)*[0]/[1]+25",1,25);
f4->SetParameter(0,i);
f4->SetParameter(1,a);
f4->SetNpx(200);
f4->SetLineWidth(1); f4->SetLineColor(i+30); f4->Draw("same");
}
TPaveText *pave3 = new TPaveText(1.2,8,9,15);
pave3->SetFillColor(42);
pave3->AddText("Log scale along X and Y axis.");
pave3->SetTextFont(42);
pave3->SetTextAlign(12);
pave3->AddText("More Log labels on both.");
pave3->AddText("The labels have no exponents (they would be 0 or 1)");
pave3->Draw();
}
#define a(i)
Definition RSha256.hxx:99
int Int_t
Definition RtypesCore.h:45
char * Form(const char *fmt,...)
virtual void SetFillColor(Color_t fcolor)
Set the fill area color.
Definition TAttFill.h:37
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
Definition TAttLine.h:43
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Definition TAttLine.h:40
virtual void SetMarkerColor(Color_t mcolor=1)
Set the marker color.
Definition TAttMarker.h:38
virtual void SetTextAlign(Short_t align=11)
Set the text alignment.
Definition TAttText.h:42
virtual void SetTextFont(Font_t tfont=62)
Set the text font.
Definition TAttText.h:46
void SetMoreLogLabels(Bool_t more=kTRUE)
Set the kMoreLogLabels bit flag When this option is selected more labels are drawn when in log scale ...
Definition TAxis.h:213
void SetNoExponent(Bool_t noExponent=kTRUE)
Set the NoExponent flag By default, an exponent of the form 10^N is used when the label value are eit...
Definition TAxis.h:223
The Canvas class.
Definition TCanvas.h:23
1-Dim function class
Definition TF1.h:213
TAxis * GetYaxis() const
Get y axis of the function.
Definition TF1.cxx:2405
virtual void SetNpx(Int_t npx=100)
Set the number of points used to draw the function.
Definition TF1.cxx:3453
virtual void Draw(Option_t *option="")
Draw this function with its current attributes.
Definition TF1.cxx:1328
virtual void SetParameter(Int_t param, Double_t value)
Definition TF1.h:634
TAxis * GetXaxis() const
Get x axis of the function.
Definition TF1.cxx:2394
A TGraph is an object made of two arrays X and Y with npoints each.
Definition TGraph.h:41
virtual void Draw(Option_t *chopt="")
Draw this graph with its current attributes.
Definition TGraph.cxx:769
TAxis * GetXaxis() const
Get x axis of the graph.
Definition TGraph.cxx:1634
TAxis * GetYaxis() const
Get y axis of the graph.
Definition TGraph.cxx:1644
The most important graphics class in the ROOT system.
Definition TPad.h:26
void SetGridx(Int_t value=1) override
Definition TPad.h:327
void SetLogy(Int_t value=1) override
Set Lin/Log scale for Y.
Definition TPad.cxx:5967
void SetGridy(Int_t value=1) override
Definition TPad.h:328
TVirtualPad * cd(Int_t subpadnumber=0) override
Set Current pad.
Definition TPad.cxx:604
void Draw(Option_t *option="") override
Draw Pad in Current pad (re-parent pad if necessary).
Definition TPad.cxx:1300
void SetLogx(Int_t value=1) override
Set Lin/Log scale for X.
Definition TPad.cxx:5953
A Pave (see TPave) with a text centered in the Pave.
Definition TPaveLabel.h:20
virtual void Draw(Option_t *option="")
Draw this pavelabel with its current attributes.
A Pave (see TPave) with text, lines or/and boxes inside.
Definition TPaveText.h:21
virtual TText * AddText(Double_t x1, Double_t y1, const char *label)
Add a new Text line to this pavetext at given coordinates.
virtual void Draw(Option_t *option="")
Draw this pavetext with its current attributes.
return c1
Definition legend1.C:41
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
TF1 * f1
Definition legend1.C:11
Author
Olivier Couet

Definition in file logscales.C.