Flow maps, slider control, and tooltip templating/theming#207
Merged
Conversation
Co-authored-by: Egor Kotov <kotov.egor@gmail.com>
Co-Authored-By: Egor Kotov <kotov.egor@gmail.com>
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lands several connected features for the upcoming 0.5.0. Four commits:
add_slider_control()(#205)Interactive slider that filters and/or animates layers by a numeric property. Composes with initial
filter, laterset_filter(), and interactive legends via["all", ...]. Modes:"sequential","cumulative","window". Supports paint-property animation, an optional play button, and a density histogram (d3 loaded on demand).presentation = "timeline"— a prominent, brushable histogram: drag the selected window across the bars, drag its edges to resize.window_behaviorchooses a"resizable"two-edge range or a"fixed"-width band you pan. Modeled on Egor Kotov's FlowMapBlue time control.slider_style()— presets and overrides for the container, play button, track, thumb, and histogram.draggable = TRUE— reposition the panel anywhere on the map, mirroringadd_legend().update_slider_control()(Shiny proxies) andas_time_property().add_flowmap()Animated origin-destination flow maps powered by flowmap.gl (deck.gl): temporal flows, location clustering, customizable color schemes (
flowmap_color_schemes()), CSS blend modes, themeable tooltips/popups. Reactive updates viaset_flowmap_filter()/set_flowmap_settings(); a"window"-mode slider can drive a flowmap's temporal range. Heavy libraries load on demand. Bundledbixi_locations/bixi_flowsdatasets included. Adapted from Egor Kotov's contribution.Package-wide
{brace}tooltip/popup templatingAny layer's
tooltip/popup(andset_tooltip()/set_popup()) accepts glue-style templates like"{name}: {population}", alongside the existing column-name andconcat()/number_format()forms. Substituted values are HTML-escaped.tooltip_style()/popup_style()Theme tooltips and popups without hand-written HTML/CSS, mirroring
legend_style()— a preset ("light"/"dark") or custom appearance. Opt-in: tooltips are unstyled by default, so existing maps are unchanged.Co-authored with Egor Kotov (@e-kotov) on the flowmap and time-control work (#205).
devtools::check()clean (0 errors, 0 warnings).