Open anobel opened 8 years ago
1 and 2: What do you think about http://bl.ocks.org/mcwillso/b27021c28762c1dea2da
3: You could use the 'Multi Brush' mode, but this might cause issues with the solution to 1 and 2.
4: In the brushing example there is a 'Reset Brushes' button that clears the brushes vs what you have that reloads the page. d3.select('#btnReset').on('click', function() {parcoords.brushReset();})
In the example you linked to, I think showing the ranges of the current selection at the top/bottom of the axes is elegant but could be confusing. what do you think about a tooltip? Either way, it would be nice to have values rounded. Not sure how it would work in situations with categorical variables (3.5 cylinders doesn't make much sense)
In regards to entering numbers directly by clicking on numbers at top/bottom of axis, it seems non-intuitive for lay-users. It may not be possible to do it cleanly in the diagram and maybe have the diagram take input from separate entry boxes?
3: I tried multi-brush, but I think the issue is users were confused when it came to categorical variables. They didn't understand why they had to select/drag a range around a point when it made the most sense for them to just click that point. For example, when selecting cylinders, why not just be able to click/select 6, instead of brushing a range from 5.5-6.5 or whatever that encompasses 6.
@mcwillso would you possibly be able to point me at the code changes that you performed in your fork to create this spike at http://bl.ocks.org/mcwillso/b27021c28762c1dea2da? I somehow got lost on the commit log... it's interesting to see safe ways of tweaking the core component.
@matanster https://github.com/mcwillso/parallel-coordinates/commits/Column-Fields is a good starting point.
@mcwillso thanks, I will look at that branch https://github.com/mcwillso/parallel-coordinates/commits/Column-Fields
@anobel slightly off-topic to this issue, but have you released the code for this shiny app you're working on? I would be curious to see how you calculate the median values in Shiny. I'm currently working on another Shiny app where I'm hoping to link additional views to the results of a parcoords plot, and it seems like that's what you've been able to accomplish.
@tbadams45 this https://github.com/timelyportfolio/parcoords/blob/master/inst/examples/shiny/app.R might help. I'll try to work up an example to specifically calculate median.
The crosstalk
branch is highly experimental and subject to change, but here is an example with it https://github.com/timelyportfolio/parcoords/blob/feature/crosstalk/inst/examples/examples_crosstalk.R
@tbadams45, probably better to move discussion to this just-reopened https://github.com/timelyportfolio/parcoords/issues/15
I'm a research fellow in urologic oncology at the University of Washington, and our group has been using the
htmlwidgets
version of the parallel coordinates library (https://github.com/timelyportfolio/parcoords) by @timelyportfolio to create a diagram of a validated risk prediction tool for patients with metastatic renal cell carcinoma. Each line represents a specific patient with metastatic renal cell cancer, the axes represent their clinical data, and the right most axis shows survival times. UsingR
,htmlwidgets
,Shiny
, and theparcoords
package, we're able to display calculated median survival times based on the selections the user makes.A working prototype is at http://faculty.washington.edu/odisho.
We also performed usability testing with 400 non-medical users, and I wanted to share the results here. In discussing with @timelyportfolio, it seems some of the changes we would like to implement in response to user comments can only be made in the javascript source code, not on the R/htmlwidgets side.
We went through and collated over 500 comments, and some of the most common responses were:
I have more detailed results and all of the specific comments, if anyone is interested. I think solutions to 2 and 3 would be highest priority. Also, apologies for the long post and not having each of these as separate issues, wanted to keep the context/explanation in one place.