vistime()
passessource
andcustomdata
to plot for interactivePlotly
click or hover events in Shiny (closes #34, thanks @jonocarroll).
- Now asserts that
col.color
andcol.fontcolor
are string type, i.e.vistime(dat, col.color = color_column)
fails andvistime(dat, col.color = "color_column")
succeeds. This was implemented for the other columns already.
- Fix failing dependency by exchanging package usage of
assertive.types
withassertthat
- keep group column order in case of factors (otherwise groups appear in order of appearance) (closes #27, thanks @kelly-sovacool)
- added
markdown
dependency for vignette building as per yhui/knitr#1864
hc_vistime()
labels on y-axis were incorrectly reversed (#24)
highcharter
is no more installed by default when you installvistime
optimize_y = TRUE
did not work correctly for ranges that occur during other ranges (issue #22)
- Added mouse zooming capability to
hc_vistime()
- Split the
README.md
into three vignettes:
- Updated documentation
- Internals:
- Using the
assertive.types
package instead ofassertthat
for nicer error messages - Upgraded to
testthat 3.0
for unit tests - Bugfixes for
hc_vistime()
arguments
- Using the
- Made arguments more intuitive:
col.event
instead ofevent
col.start
instead ofstart
col.end
instead ofend
col.group
instead ofgroups
col.color
instead ofcolors
col.fontcolor
instead offontcolors
col.tooltip
instead oftooltips
- New function
hc_vistime()
: Create an interactive timeline rendered by the greatHighcharter.js
library
gg_vistime()
:- Use
geom_text()
for labels - Avoid overlapping of event labels using
ggrepel::geom_text_repel()
- Layout adjustments: Panel border and changes under-the-hood
- Use
vistime()
:- Changes under the hood (vertical and horizontal lines)
- Panel border
- Usage of package
assertthat
and re-organization of dependencies
vistime()
no longer uses cumbersome Plotly-subplots. Everything renders in the same plot and can be zoomed seamlessly.- Events are drawn from top to bottom (not from bottom to top) - always in the order of the input data frame (per groups that are arranged from top to bottom). This makes the result more intuitive: ¯—-_-_ instead of _-_-—¯
gg_vistime()
as new function to output the timeline as a static ggplot (in addition tovistime()
, which outputs an interactive Plotly object).vistime_data()
as new function to output the cleaned and optimized timeline data for your own plotting experiments.
- arguments
showLabels
andlineInterval
have long been deprecated and have now been removed (useshow_labels
andbackground_lines
instead).
- Fixed bug for plots having more than 9 groups - in these cases the order was not the same as in the input data frame
- New argument
optimize_y
(default:TRUE
)- If
optimize_y = TRUE
, use heuristic to optimally distribute events on y axis - If
optimize_y = FALSE
, use fixed order on y axis according to input data
- If
- Relaxed package dependencies: (e.g.
plotly
only Imports, not Depends)
- Hotfix: due to new Plotly version, colors and fontcolors handling was broken. Changed dependency to Plotly > 4.0.0.
- Internals (no exporting of helper functions, unit tests using
testthat
package, continuous integration usingtravis
, test code coverage usingcovr
) - Activated Github Page: https://shosaco.github.io/vistime/
- Argument
showLabels
has been renamed toshow_labels
for consistency. A deprecation message is shown.
- We have a vignette now
- Events and ranges that are in the same group are now plotted directly below each other (in the past, all ranges were plotted first, followed by all events). Groups are sorted in order of first appearance but all items of one group are plotted together.
- Argument
lineInterval
is now deprecated. It was replaced by the new, more intuitive argumentbackground_lines
- the number of lines to draw in the background. - Remove leading and trailing whitespaces of events and groups before drawing
- Hotfix for broken y-axis labeling (introduced through new plotly package 4.8.0.)
- Events are now shown as circles (was: squares)
- Corrected font colors of Presidents example on help page
- Added a new argument
showLabels
to choose whether or not the event labels shall be drawn - improves layout of dense timelines - New argument
lineInterval
: the distance in seconds that vertical lines shall be drawn (to reduce plot size and increase performance). When omitted, a heuristic (as before) is used. - Improved heuristic of vertical line drawing
- Line width calculation for ranges improved (thicker lines if less events happening simultaneously)
- New parameter:
linewidth
to override the calculated line width for events - Layout and labeling improvements
- Simplified examples
- Improved error checking
- New parameters:
title
(a title for the timeline)tooltips
(column name of data that contains individual tooltips)fontcolors
(column name of data that contains color of the event font)
- Ordering of groups in plot is now the same as the order of "groups" column in data
- Added more complex example and removed school data/example
- Changed
colors
argument default to "color" (i.e. if a columncolor
is present in your data, it will be used for coloring the events) - Bugfix if data contains only one event
- Bugfix where events where not correctly categorized into their respective groups
- Improved error checking
- Improved drawing of vertical lines for certain ranges
- Major improvement of intelligent levelling of ranges (_-_¯-—)
- Improved error checking
- Various bugfixes
First public release on 29/01/2017