JuliaDB.jl
JuliaDB.jl copied to clipboard
WIP: add interactive recipe for OnlineStats plot
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:
using Plots, Interact, JuliaDB
interactivepartition(t)
@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())?

The partitionplot code needs some cleanup (see my stale PR https://github.com/JuliaComputing/JuliaDB.jl/pull/190). I haven't had time to look at it lately, but I may actually have the time today.
Note that partitionplot is meant to be an easier way of working with OnlineStats.Partition and OnlineStats.IndexedPartition, but there are some edge cases for which partitionplot makes things more difficult (why I need to clean things up).
The most useful stats to use with this are Extrema, Mean, Hist, and CountMap.
Ok, let me know when the API of partitionplot stabilizes!
Otherwise, I could also do the GUI for OnlineStats.Partition (if it turns out to be useful for non-tabular data as well or is something you'd be interested in having in OnlineStats).
Codecov Report
Merging #215 into master will decrease coverage by
0.88%. The diff coverage is0%.
@@ 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
| Impacted Files | Coverage Δ | |
|---|---|---|
| src/JuliaDB.jl | 100% <ø> (ø) |
:arrow_up: |
| src/interactiverecipes.jl | 0% <0%> (ø) |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact),ø = not affected,? = missing dataPowered by Codecov. Last update 79b9d1f...55c4b5c. Read the comment docs.
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
Thanks to the rework in Widgets and InteractBase the @nodeps macro is no longer needed and there is overall less macro magic. There still seems to be some issues with the underlying plot recipes though, see #252