Re: [ROOT] How to draw a TMarker at a given position

From: Jacek M. Holeczek (
Date: Tue Apr 13 2004 - 13:46:11 MEST


Today in the morning I also had the idea that I should first draw
everything in linear scale and then SetLog axes ...
Well, i just finished my test (sorry, it takes about 3 hours to fill
histograms) ... the outcome is ... it doesn't work ...

> For me it works. I tried the following example:

Well, it doesn't really ...

I repeated your "test" line by line (4.00.03, gcc-3.2.3, RH7.3) ...

>    TFile f("hsimple.root");

I take to file "hsimple.root" created by tutorials/hsimple.C ...

>    hpxpy->Draw("cont4");

The histogram is drawn with linear X and Y axes ...

>    TMarker *m = new TMarker(1.0, 1.5, 29);
>    m->Draw();

The canvas looks exactly like it was before "m->Draw();" ...

>    gPad->SetLogx(kTRUE);
>    gPad->SetLogy(kTRUE);
> }
> and I get the attached result

I get exactly the same picture as you in the postscript file ...
Both axes are Log now ...
Surprise ... the marker is visible now ...
But ... the position is INCORRECT ...
Note that ... it's clearly visible that ... X=0.9, Y=1.4 ... while you
asked X=1., Y=1.5 !!!!

Best regards,

P.S. Just to add something, in my picture I would like to get the marker
     at (1.0, 0.0001). I discovered that I need to create it at (1.6, 1.0)
     and then it is more or less in the required position (note also that
     (log10(1.0), log10(0.0001)) does NOT help). Moreover, changing axes
     between log and linear ... makes the marker disappear and/or changes
     it's position in the picture. Jacek.

This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:07 MET