ROOT
v6-24
Reference Guide
Loading...
Searching...
No Matches
graphtext.C
Go to the documentation of this file.
1
/// \file
2
/// \ingroup tutorial_graphs
3
/// \notebook
4
/// Draw a graph with text attached to each point.
5
/// The text is drawn in a TExec function attached to the TGraph,
6
/// therefore if the a graph's point is
7
/// moved interactively, the text will be automatically updated.
8
///
9
/// \macro_image
10
/// \macro_code
11
///
12
/// \author Olivier Couet
13
14
void
graphtext() {
15
TCanvas
*
c
=
new
TCanvas
(
"c"
,
"A Simple Graph Example with Text"
,700,500);
16
c
->SetGrid();
17
18
const
Int_t
n
= 10;
19
auto
gr
=
new
TGraph
(
n
);
20
gr
->
SetTitle
(
"A Simple Graph Example with Text"
);
21
gr
->
SetMarkerStyle
(20);
22
auto
ex
=
new
TExec
(
"ex"
,
"drawtext();"
);
23
gr
->
GetListOfFunctions
()->
Add
(
ex
);
24
25
Double_t
x
,
y
;
26
for
(
Int_t
i=0;i<
n
;i++) {
27
x
= i*0.1;
28
y
= 10*
sin
(
x
+0.2);
29
gr
->
SetPoint
(i,
x
,
y
);
30
31
}
32
gr
->
Draw
(
"ALP"
);
33
}
34
35
void
drawtext
()
36
{
37
Int_t
i,
n
;
38
Double_t
x
,
y
;
39
TLatex
l
;
40
41
l
.
SetTextSize
(0.025);
42
l
.SetTextFont(42);
43
l
.SetTextAlign(21);
44
l
.SetTextColor(
kBlue
);
45
46
auto
g
= (
TGraph
*)
gPad
->GetListOfPrimitives()->FindObject(
"Graph"
);
47
n
=
g
->GetN();
48
49
for
(i=0; i<
n
; i++) {
50
g
->GetPoint(i,
x
,
y
);
51
l
.PaintText(
x
,
y
+0.2,
Form
(
"(%4.2f,%4.2f)"
,
x
,
y
));
52
}
53
}
54
c
#define c(i)
Definition
RSha256.hxx:101
g
#define g(i)
Definition
RSha256.hxx:105
Int_t
int Int_t
Definition
RtypesCore.h:45
Double_t
double Double_t
Definition
RtypesCore.h:59
kBlue
@ kBlue
Definition
Rtypes.h:66
sin
double sin(double)
Form
char * Form(const char *fmt,...)
gPad
#define gPad
Definition
TVirtualPad.h:287
TAttMarker::SetMarkerStyle
virtual void SetMarkerStyle(Style_t mstyle=1)
Set the marker style.
Definition
TAttMarker.h:40
TAttText::SetTextSize
virtual void SetTextSize(Float_t tsize=1)
Set the text size.
Definition
TAttText.h:46
TCanvas
The Canvas class.
Definition
TCanvas.h:23
TExec
TExec is a utility class that can be used to execute a C++ command when some event happens in a pad.
Definition
TExec.h:28
TGraph
A TGraph is an object made of two arrays X and Y with npoints each.
Definition
TGraph.h:41
TGraph::SetPoint
virtual void SetPoint(Int_t i, Double_t x, Double_t y)
Set x and y values for point number i.
Definition
TGraph.cxx:2284
TGraph::SetTitle
virtual void SetTitle(const char *title="")
Change (i.e.
Definition
TGraph.cxx:2339
TGraph::Draw
virtual void Draw(Option_t *chopt="")
Draw this graph with its current attributes.
Definition
TGraph.cxx:769
TGraph::GetListOfFunctions
TList * GetListOfFunctions() const
Definition
TGraph.h:118
TLatex
To draw Mathematical Formula.
Definition
TLatex.h:18
TList::Add
virtual void Add(TObject *obj)
Definition
TList.h:87
drawtext
void drawtext(double x, double y, int f, const char *s)
Definition
fonts.C:1
y
Double_t y[n]
Definition
legend1.C:17
x
Double_t x[n]
Definition
legend1.C:17
n
const Int_t n
Definition
legend1.C:16
gr
TGraphErrors * gr
Definition
legend1.C:25
ex
Double_t ex[n]
Definition
legend1.C:17
l
auto * l
Definition
textangle.C:4
tutorials
graphs
graphtext.C
ROOT v6-24 - Reference Guide Generated on Tue Aug 22 2023 03:06:58 (GVA Time) using Doxygen 1.9.8