Graphs lines going out the plotting frame

Dear rooters,
Does anyone know how to get rid of this?



I mean these graph lines going out the plotting range (left - bottom) .
Cheers!

What kind of file is it ? PDF ?

It is a png converted from a pdf.

do you get those lines on the screen output ? (TCanvas interactive mode)

They are different, but yes:


May be try:

gStyle->SetJoinLinePS(2);

[code]In file included from input_line_22:1:
/afs/desy.de/group/fla/plasma/data002/SOFTWARE/ptools-dev/macros/PlotTracks.C:164:11: error: no
member named ‘SetJoinLinePS’ in 'TStyle’
gStyle->SetJoinLinePS(2);

[/code]

how old is your ROOT version ?

It should disappear if you set the line width for your graphs = 1

My guess is that you see the effect of “Join Miter”

root.cern/doc/master/classTPDF. … 50e4c2abdd

Not completely:


Possibly. Can I change this in my root version?

which is ?

Sorry… root-6.06.08

(I have problems with newer versions -> Problem with root-6.08.00)

It was introduced in 6.08

github.com/root-mirror/root/com … 3d7e85d56f

As you compile root yourself you may change line 96 of

root.cern/doc/master/TPDF_8cxx_source.html

to

 Int_t TPDF::fgLineJoin = 2;

The line is not there in root-6.06.08:

[code]// Number of fonts
const Int_t kNumberOfFonts = 15;

ClassImp(TPDF)
[/code]

Ah yes … that’s what i feared. may be simply take the full TPDF from the master …
github.com/root-mirror/root/blo … c/TPDF.cxx
(and may be the .h)

May be you can send me a small example reproducing your problem so I can verify that my assumption is correct ?

Hi Oliver,
I just wanted to let you know that your solution worked.
I copied the TPDF and TProfile (It was also needed) source files from root-6.08.04 to my root-6.06.08 installation, recompiled and use the gStyle->SetJoinLinePS(2); option:


So there are no more graph lines going out the plotting frame. Thanks a lot!

In addition I copied other source files from root-6.08.04 to add a feature that I was long time looking for:
root.cern.ch/doc/master/classTG … 714336eaac
That is, to be able to tune independently the axis labels.

The procedure also worked nicely and I currently have the “custom” root version that I wanted working flawlessly.
(I failed several times in making root-6.08.04 work -> Problem with root-6.08.00 and on top of this, I do not like the new cmake-only approach to install root)

Now my question is: how can I copy the source tree of this custom root version that I have to be able to install it in the different machines that I use for data analysis?
Specially for the TGaxis business I had to copy many source files from root-6.08.04 and it would be a time consuming process to repeat the procedure in every system.

Thanks a lot!

Hi Alberto,

Good you managed to have a ROOT version you like. I would say that the simplest for you would be a tar file of the source you have and migrate it to the other machines. But it is really weird that you are not able to use the make based installation I am doing it several 10th times per day ! I do this with the root master. May be for you it would be good to use the master too in order to have the latest fixes as you often find bug which are then fix only in the master.
The small following script file works for me.

set -x
cd ~/git/
rm -rf rootdev-bin rootdev
git clone http://root.cern.ch/git/root.git rootdev
mkdir rootdev-bin
cd rootdev-bin
cmake -Dall=ON ../rootdev
. bin/thisroot.sh
make -j8

Hi Oliver,
It is not that I cannot install root-6.08.04, I do, and it works.
What is not working properly with this version is my software.
I mean, some things work, but others do not.
For instance I have a problem when calling a root macro several times in a loop from an executable:
Problem with root-6.08.00

Already in the second iteration, the macro fails and dumps the following error:

[quote]IncrementalExecutor::executeFunction: symbol ‘_ZN6PConstL2I0E’ unresolved while linking [cling interface function]!
You are probably missing the definition of PConst::I0
Maybe you need to load the corresponding shared library?[/quote]

where I0 is just a constant (like many others) defined in one of my classes for which I generate the dictionary, the library and all.
So i do not have the slightness idea of what is wrong.
In addition, the cmake configure process takes around 11 minutes to be completed, and I don’t know why.
(That is why I do not like it)

I think that the best approach for me would be to fix these problems to make my software work with newer root versions, but it might be difficult to find the error (everything compiles well) and it would need time so I’ll try to postpone these efforts.

Ah ok … may be going to the master might help in that case ?