Logo ROOT  
Reference Guide
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Loading...
Searching...
No Matches
gr005_apply.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_graphs
3/// \notebook
4/// \preview A macro to demonstrate the functionality of TGraph::Apply() method.
5/// TGraph::Apply applies a function `f` to all the data TGraph points, `f` may be a 1-D function TF1 or 2-d function TF2.
6/// The Y values of the graph are replaced by the new values computed using the function.
7///
8///
9/// The Apply() method can be used as well for TGraphErrors and TGraphAsymmErrors.
10///
11/// \macro_image
12/// \macro_code
13///
14/// \author Miro Helbich
15
16void gr005_apply() {
17
18 const Int_t npoints=3;
19 Double_t xaxis[npoints] = {1.,2.,3.};
20 Double_t yaxis[npoints] = {10.,20.,30.};
21
23 TF2 *ff = new TF2("ff","-1./y"); //Defining the function `f`
24
25 TCanvas *c1 = new TCanvas("c1","c1", 0,0,700,500);
26 c1->Divide(2,1);
27
28 c1->cd(1);
29 gr1->DrawClone("A*"); //Using DrawClone to create a copy of the graph in the canvas.
30 c1->cd(2);
31 gr1->Apply(ff); //Applies the function `f` to all the data TGraph points
32 gr1->Draw("A*");
33 /* Without DrawClone, the modifications to gr1 via Apply(ff) are reflected in the original graph
34 displayed in c1 (the two drawn graphs are not independent). */
35}
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.
The Canvas class.
Definition TCanvas.h:23
A 2-Dim function with parameters.
Definition TF2.h:29
A TGraph is an object made of two arrays X and Y with npoints each.
Definition TGraph.h:41
return c1
Definition legend1.C:41