Skip to content

better API support for parallel coordinates (parcoords) lines styles #2573

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
ndabAP opened this issue Apr 18, 2018 · 27 comments
Open

better API support for parallel coordinates (parcoords) lines styles #2573

ndabAP opened this issue Apr 18, 2018 · 27 comments
Labels
feature something new P3 backlog

Comments

@ndabAP
Copy link

ndabAP commented Apr 18, 2018

At the moment, it's not possible to change the width of the parallel coordinates line or change the color of the axis lines/ticks.

https://codepen.io/plotly/pen/ZepaxM

@etpinard etpinard added the feature something new label Apr 18, 2018
@idea-launch-lab
Copy link

On related note, is it possible to apply a color function to selectively color lines, e.g., based on a categorical attribute. A feature that the parcoords API might support. Thanks.

@etpinard
Copy link
Contributor

Merging the "axis" part of this request in #2292

@etpinard etpinard changed the title Feature request: Better API support for parallel coordinates (parcoords) lines and axis Feature request: Better API support for parallel coordinates (parcoords) lines styles May 31, 2019
@bhvbhushan
Copy link

Is there any update on this issue ?? or some alternative probably ??? Thanks

@bthorsted
Copy link

Not sure if this is relevant, but adding support for exporting parcoords to vector graphics would also be greatly appreciated.

@ped59430
Copy link

+1

@Buiboni
Copy link

Buiboni commented Jul 14, 2020

+1 for line style manipulation.

@nicolaskruchten
Copy link
Contributor

This is a good idea, and we would happily work with someone from the community to get these changes implemented :)

@KaleabTessera
Copy link

+1

1 similar comment
@ag-ayush
Copy link

+1

@Di-o-go
Copy link

Di-o-go commented Apr 14, 2021

+1

@empet
Copy link

empet commented Apr 20, 2021

I answered a question on Julia discourse related to setting font color and font family for both ticks and labels in a parcoords chart.
With this code:

mytrace = parcoords(;tickfont_size=14, tickfont_color="white",  tickfont_family="Balto",
                     line = attr(color=df.score23),
        dimensions = [
            attr(range = [0,1],
                 label = "response1", values = df.response1),
            attr(range = [0,1],
                 label = "response2", values = df.response2),
            attr(range = [0,1],
                 label = "response3", values = df.response3),
            attr(range = [0,1],
                 label = "response4", values = df.response4)
        ]);

        layout = Layout(Dict{Symbol,Any}(
            :font_family=> "Balto",
            :font_size=>20, 
            :font_color=>"white",
            :paper_bgcolor => "rgb(105, 105, 105)",
            #:plot_bgcolor => "rgb(105, 105, 105)",
            ))

the ticklabels are displayed as if the font were set to be bold:
parcoords
Is this the intended behaviour?
It's so difficult to style this trace type!!!! The font for ticks doesn't appear to be from the Balto family, like that for labels.

@nicolaskruchten
Copy link
Contributor

We've solved this and the fix will come out soon :) And yes, parcoords was built rather differently from the rest of this library, so it doesn't automatically inherit many of our fixes and improvements and its API is a bit inconsistent :(

@archmoj
Copy link
Contributor

archmoj commented Apr 20, 2021

We've solved this and the fix will come out soon :) And yes, parcoords was built rather differently from the rest of this library, so it doesn't automatically inherit many of our fixes and improvements and its API is a bit inconsistent :(

This is addressed by #5506.

@YousufAzadSami
Copy link

So is this feature implemented? I am interested in changing the line width in parallel coordinates.

@sasikumar-enugunta
Copy link

sasikumar-enugunta commented Jun 1, 2022 via email

@kamibrumi
Copy link

I would like the feature of changing the width of the parallel coordinates lines. Any update on this?

@samlopezruiz
Copy link

+1

2 similar comments
@afaucet-lam
Copy link

+1

@sketelone
Copy link

+1

@jannik-el
Copy link

Also would appreciate this feature - not really any other options when it comes to parallel plots in python. With less than 20 lines it becomes impossible to see the individual ones.

@kamibrumi
Copy link

Has anyone started working on this? I'm willing to start a PR.

@sroener
Copy link

sroener commented May 10, 2024

I would also agree that this is an important feature! Especially line width and opacity would be great!

An additional point on the wishlist would be an option to get spline lines/bundling of lines.

Maybe as some form of Inspiration: https://facebookresearch.github.io/hiplot/

They made a great visualization tool, but one could never export the plot as static data and it is a public archive by now.

@kamibrumi
Copy link

Cool, I started looking into it. @archmoj I saw that you wrote the code for the line width in lines.js under src/traces/parcoords. Do you think this feature is relevant / it would be a good first contribution? (I'm new to open-source contributions)

@gvwilson gvwilson self-assigned this Jun 11, 2024
@gvwilson gvwilson removed their assignment Aug 2, 2024
@gvwilson gvwilson changed the title Feature request: Better API support for parallel coordinates (parcoords) lines styles better API support for parallel coordinates (parcoords) lines styles Aug 8, 2024
@gvwilson gvwilson added the P3 backlog label Aug 8, 2024
@BrannJoly
Copy link

BrannJoly commented Sep 2, 2024

I solved it with a hack, it works great!

Basically, when I want to highlight a line, I temporarily set a constraintRange on all dimensions matching the line's value +/- 2%
This has a double effect :

  • all the other lines become greyed out with an opacity at 30%
  • on each axis there's a pink highlight around the lines value which helps making the line stand out

on top of that I set the color for all lines to red (but it affects only my selected line as the others are greyed out)

I found this was enough for my need, but to make the line wider it would also be possible to create some additional lines with values slightly lower and higher than the actual values. I they are inside the 4% range around the actual value they wouldnt be filtered and would stand out as well.

a bit on the hacky side, but I prefer this over using hiplot (a library that supports this feature very well, but comes with its own bag of issues)

this is what the final result looks like

image

@varanasivenkatsai
Copy link

Hi @BrannJoly, this solution looks really great. Could you be able to provide quick sample code on how you achieved it?

@AhmedThahir
Copy link

Any updates?

@gvwilson
Copy link
Contributor

My apologies @AhmedThahir - we have been focused on getting the next full plotly.js release out the door. Realistically, we are unlikely to get to this one any time soon, but if someone from the community wants to submit a PR, I will prioritize review. Thanks - @gvwilson

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature something new P3 backlog
Projects
None yet
Development

No branches or pull requests