-
Notifications
You must be signed in to change notification settings - Fork 32
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
outside filters with brushes #45
Comments
Thanks @timelyportfolio! Yes, I've been trying to create a wrapper for this library to interface with dc.js. What I have tried so far is simply to replace the data whenever there is filtering on the dc.js side... that's how dc.js usually does things. Performance is okay (for the cars dataset) and it sort of works as long as you brush only parcoords or dc.js, but parcoords goes blank when you brush both, and I haven't figured out why. Another thing I noticed is that the brushed set is not necessarily a subset of the data, so I am setting both. (And quite possibly I am doing it wrong.) This looks like it may be a better approach; I'll give it a shot! |
@gordonwoodhull wanted to make sure you know that the proof of concept was in the syntagmatic original parallel-coordinates. I plan to implement in |
Ah, right, I missed that. Most likely you will get to it before me, but I'll let you know if I try anything! |
@BigFatDog @gordonwoodhull I assembled a proof of concept in the ScreenshotQuestionsThere are a couple of things I don't really like.
|
@timelyportfolio
|
Hi @timelyportfolio! Found a spare moment to experiment with this. Unfortunately I am still in the AMD era (this fork of parcoords just worked best for me, and seems to be the best maintained). And I couldn't get
I'm a bit lost. Is there a simple way to get it to build so I can test your API with my library? |
Solution to the error message: add a
This will help transpile spread operators in I did try once but found no good solution to integrate I can provide a feature branch quickly so that you can continue with your test. We have something works and then explore the next step. How do you think? |
Thanks @BigFatDog! Babel is new to me. parcoords-es already has If it makes any difference, I don't think I really need searchjs for my testing... I will be changing the selection in response to dc.js events |
You’re welcome. I learn a lot from you. |
Thanks @BigFatDog, that's nice to hear. Really all the credit goes to @NickQiZhu and the many dozens of contributors. For me it's an interesting social experiment, as I never maintained a popular open source library before. I try to help people out and eventually get stuff merged. It's a lot of work and I never have enough time. 😊 |
@gordonwoodhull glad you tried it out. I can't get Also, I think it might be helpful to go back and walk through the generic steps necessary to add in a filter with or without |
Summary
Often in integrated applications with parallel coordinates, I need the ability to filter the parallel coordinates from outside with other controls, such as HTML inputs or supplementary visualizations. Here is a very minimal example demonstrating the concept with a modified version of the original parallel-coordinates. Would you be interested in a pull request targeting this functionality?
Proof of Concept
As I mentioned, for the previous example, I modified the original parallel-coordinates to add
outsideFilters
to the API as shown in timelyportfolio/parallel-coordinates@40fa0dc. This poc only targeted categorical/discrete filtering, but ideally I envision robust filtering that would cover all data types.Thoughts
In all the brush modes, we have something like this before determining what is selected.
We could filter
config.data
here first and then perform the selected logic to the filteredconfig.data
.Potential Helper Dependency
I discovered search.js that might help with the API for filtering spec.
pinging @gordonwoodhull since you had some interest in the other pull and you have an enormous wealth of knowledge from
dc.js
The text was updated successfully, but these errors were encountered: