Dear experts
I want to draw a graph and change the title of that graph in a interactive mode, what I did is:
root -l something.root
tree->Draw("adc[24]:Iteration$>>g", "", "AL", 1, 0)
g->SetTitle("test")
c1->Modified()
c1->Update()
But the title was not changed after I typed such code. Why is that?
Please read tips for efficient and successful posting and posting code
ROOT Version: v6.26.02
Platform: Linux
Compiler: g++
couet
2
root [0] ntuple->Draw("px:py","","AL");
root [1] Graph->SetTitle("hello");
Crisps
3
I got the error says:
use of undeclared identifier 'ntuple'
couet
4
well, the tree I use to test is called “ntuple” …the one in hsimple.root. In your case it is “tree” …
Crisps
5
Then I should did exactly what you did…but the canvas was not updated on the screen…
couet
6
In my case with the latest root on Mac the canvas is created by the draw command then the title is displayed with the 2nd command.
Crisps
7
I just tried again, when I use:
tree->Draw("py:px", "", "AL", 1, 0);
Graph->SetTitle("hello");
c1->Modified();
It worked (notice that if without c1->Modified()
it didn’t work
But if I do this:
tree->Draw("py:px>>g", "", "AL", 1, 0);
g->SetTitle("hello");
c1->Modified();
It didn’t work.
SO I got 2 questions:
- In the second case, does
>>g
mean that copy the TGraph to a new one called “g”? So the original one been drawn is still called “Graph”
- Why I need
c1->Modified()
but you don’t…?
couet
8
In that case “g” must be a 2D histogram not a TGraph see the doc
Crisps
9
That’s true, but still I have the same two questions above… TGraph or TH2 should not affect the conditions, the first question will be like:
does >>g
mean that copy the TH2 to a new one called “g”? So the original one been drawn is still called “Graph”
couet
10
When you draw a TTree as a 2D scatter plot a TGraph called “Graph” is automatically created:
See:
root [0] ntuple->Draw("px:py")
Info in <TCanvas::MakeDefCanvas>: created default TCanvas with name c1
root [1] gPad->ls()
Canvas Name=c1 Title=c1 Option=
TCanvas fXlowNDC=0 fYlowNDC=0 fWNDC=1 fHNDC=1 Name= c1 Title= c1 Option=
OBJ: TList TList Doubly linked list : 0
TFrame X1= -4.500000 Y1=-4.500000 X2=5.000000 Y2=5.000000
OBJ: TH2F htemp px:py : 1 at: 0x7f8ca84c3c00
OBJ: TPaveText title X1= -0.413163 Y1=5.475000 X2=0.913163 Y2=6.128125
OBJ: TGraph Graph Graph : 1 at: 0x600000434bb0
root [2]
Crisps
11
Ah, now I understood. >>g
is just another object been created and nothing about the original Graph
. Thank you!
couet
12
Exactly, and the object after >>
must be a histogram any way, not a TGraph.