-
Notifications
You must be signed in to change notification settings - Fork 62
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
WIP: add interactive recipe for OnlineStats plot #215
base: master
Are you sure you want to change the base?
Conversation
The Note that The most useful stats to use with this are |
Ok, let me know when the API of Otherwise, I could also do the GUI for |
Codecov Report
@@ Coverage Diff @@
## master #215 +/- ##
========================================
- Coverage 72.88% 72% -0.89%
========================================
Files 19 20 +1
Lines 1309 1325 +16
========================================
Hits 954 954
- Misses 355 371 +16
Continue to review full report at Codecov.
|
This is cool! We should chip on it a bit more. |
I'm happy to update it as Interact changed quite a bit in the mean time but I was waiting for JuliaDB to update to 1.0 as latest Interact is not Julia 0.6 compatible |
src/interactiverecipes.jl
Outdated
:nparts = @nodeps slider(1:200, value = 100, label = "number of partitions") | ||
:nparts_throttle = Observables.throttle(throttle, :nparts) | ||
:dropmissing = @nodeps toggle(false, label = "dropmissing") | ||
:by = @nodeps dropdown(colnames(t), multiple = true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This @nodeps
macro is kind of an eye sore... They all appear as an :sym = @nodeps ...
assignment here. I was wondering if it'd be OK to take syntax inspiration/precedent from PlotRecipes and use :sym <-- slider(...)
to mean :sym = @nodeps slider(...)
.
I almost want to be convinced that what I just said is a terrible idea.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would actually like to remove syntactic magic as much as possible. One possible way forward is piever/Widgets.jl#25: add definitions in Widgets which would be overloaded by a backend (InteractBase for now, hopefully also Makie in the future). Then slider
would be defined in Widgets so just sym = slider(1:100)
would work. I was planning to try and finish up that PR in the near future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would actually like to remove syntactic magic as much as possible. One possible way forward is piever/Widgets.jl#25: add definitions in Widgets which would be overloaded by a backend (InteractBase for now, hopefully also Makie in the future). Then slider
would be defined in Widgets so just sym = slider(1:100)
would work. I was planning to try and finish up that PR in the near future.
Thanks to the rework in Widgets and InteractBase the |
Still needs tests and docs and I need to allow the user to choose what statistics to run. Of course the layout should be worked on, not sure what option is best but am open to suggestions. Here the user can choose x axis, optionally y axis, whether they want to split the data and by which variables, whether they want to drop missing data and the number of partitions. Only plot button and number of partition slider cause the plot to update.
This takes a very small dependency (Widgets+Observables), and to use it the user needs to:
@joshday I may need some help as I don't know OnlineStats that much. Is there a list of statistics that it makes sense to use for this kind of plot? Do they all have a version with zero arguments (say
Extrema()
)?