TParallelCoordRange not accessible interactively anymore

Hello ROOT experts

I’ve seen an unexpected difference between ROOT5 and ROOT6 when dealing with Parallel coordinate plot : I’m used to produce those, and change the range by hand interactively to figure out the best selection values once and for all.

If this is doable with ROOT5, it is not possible with ROOT6 anymore. I cannot access the range boundaries and move them just by clicking on them.

Calling a simple GetListOfPrimitives()->ls(); shows that both TParallelCoordVar and TParallelCoordRange were stored in the pad for ROOT5 while now with ROOT6 only the title and TParallelCoord are.

Is there a way to modify the range by hand interactively ?

I’m adding a mwe to this thread StandAloneaPara.C (1.0 KB)

Any insight are more than welcome
thanks
cheers
jb


_ROOT Version: 6.14.00 vs 5.34.38
_Platform: Fedora 26
_Compiler: gcc 7.1


Thanks for your report, jb! This was likely introduced by https://github.com/root-project/root/commit/9c47ee88ee5099ca297fd428f1f092586fe1b3b8 @pcanal could you share your idea how this was meant to work after your change? :slight_smile:

Thanks for your quick answers.

From what i saw in the provded log, i’ve modified a bit a the mwe and I’ve been able to get the usual behaviour even with ROOT6 :

    bool old=true;
    if( old ) // v5.34 and before
    {    
	axis->AddRange(new TParallelCoordRange(axis,3.,5.));
	para->AddSelection("blue");
	para->GetCurrentSelection()->SetLineColor(kBlue);
    }
    else // All versions
    {
	TParallelCoordRange * Range = new TParallelCoordRange(axis,3.,5.);
	axis->AddRange(Range);
	para->AddSelection("blue");
	para->GetCurrentSelection()->SetLineColor(kBlue);
	Range->Draw();
    }

The ‘old’ part is working from out of the box with root 5.34.36, while the ‘not old’ is giving the desired behaviour for both 5.34.36 and 6.14.00.

Thanks for your inputs
cheers
jb

Hi guess

Just to be sure : is this the way you think you’ll stick to ? I mean the default will remain not to have the TParallelCoordRange attached to the current Pad or would you rather go back to the previous version ?

It is just to know what to expect from future version (to decide if we modify some of our method that can rely on this)

cheers
jb

Hi @jbb - we’ll need @couet around to state his opinion on this. He’ll be back in 2 weeks…

Cheers, Axel.

Hi @jbb

I just looked at the standard example in tutorials/tree : parallelcoord.C
It defines Ranges. Seems to me it is working as before.

Cheers,
Olivier

I asked @pcanal why he replaced Draw by Paint. I guess there is some good reason to do it. I am waiting his answer. If we agree to keep his changes I will modify the example to make the ranges editable again.