Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
gr110_logscale.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_graphs
3/// \notebook
4/// \preview This tutorial demonstrates how to set a logarithmic scale for the axes of a graph using the `SetLogScale()` method.
5/// The logarithmic scale can be applied to either the x-axis, the y-axis, or both axes at the same time.
6/// When using a logarithmic scale, the data must be positive since the logarithm is undefined for non-positive values and zero.
7///
8/// \macro_image
9/// \macro_code
10/// \date 25/11/2024
11/// \author Emanuele Chiamulera
12
13void gr110_logscale() {
14
15 auto c = new TCanvas("c","Reversed graphs",0,0,900,400);
16 c->Divide(2,1);
17 c->cd(1);
18
19 const Int_t n = 6; //Fill the arrays x and y with the data points
20 Double_t x[n], y[n];
21 for (Int_t i=0;i<n;i++) {
22 x[i] = i+1;
23 y[i] = exp(i+1);
24 }
25
26 TGraph *gr1 = new TGraph(n,x,y);
27
28 gr1->SetLineColor(2);
29 gr1->SetLineWidth(4);
30 gr1->SetMarkerColor(4);
31 gr1->SetMarkerStyle(21);
32 gr1->SetTitle("Graph without log scale");
33 gr1->DrawClone("ACP");
34
35 //The logarithmic scale setting can also be done in a ROOT interactive session.
36 c->cd(2);
37 gPad->SetLogy();
38 //gPad->SetLogx(); Uncomment this line if log scale is needed on both axes
39 gr1->SetTitle("Graph with y log scale");
40 gr1->Draw("ACP");
41
42}
#define c(i)
Definition RSha256.hxx:101
int Int_t
Definition RtypesCore.h:45
double Double_t
Definition RtypesCore.h:59
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
#define gPad
The Canvas class.
Definition TCanvas.h:23
A TGraph is an object made of two arrays X and Y with npoints each.
Definition TGraph.h:41
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
const Int_t n
Definition legend1.C:16