New features

  • vistime() passes source and customdata to plot for interactive Plotly click or hover events in Shiny (closes #34, thanks @jonocarroll).

Bugfixes

  • Now asserts that col.color and col.fontcolor are string type, i.e. vistime(dat, col.color = color_column) fails and vistime(dat, col.color = "color_column") succeeds. This was implemented for the other columns already.

Bugfixes

  • Fix failing dependency by exchanging package usage of assertive.types with assertthat
  • keep group column order in case of factors (otherwise groups appear in order of appearance) (closes #27, thanks @kelly-sovacool)

Bugfixes

Bugfixes

Breaking Changes

  • highcharter is no more installed by default when you install vistime

Bugfixes

  • optimize_y = TRUE did not work correctly for ranges that occur during other ranges (issue #22)

New features

Minor adjustments

  • Updated documentation
  • Internals:
    • Using the assertive.types package instead of assertthat for nicer error messages
    • Upgraded to testthat 3.0 for unit tests
    • Bugfixes for hc_vistime() arguments

Breaking Changes

  • Made arguments more intuitive:
    • col.event instead of event
    • col.start instead of start
    • col.end instead of end
    • col.group instead of groups
    • col.color instead of colors
    • col.fontcolor instead of fontcolors
    • col.tooltip instead of tooltips

New features

  • New function hc_vistime(): Create an interactive timeline rendered by the great Highcharter.js library

Minor adjustments

  • gg_vistime():
  • vistime():
    • Changes under the hood (vertical and horizontal lines)
    • Panel border
  • Usage of package assertthat and re-organization of dependencies

Breaking Changes

  • 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 _-_-—¯

New features

  • gg_vistime() as new function to output the timeline as a static ggplot (in addition to vistime(), which outputs an interactive Plotly object).
  • vistime_data() as new function to output the cleaned and optimized timeline data for your own plotting experiments.

Removed functionality

  • arguments showLabels and lineInterval have long been deprecated and have now been removed (use show_labels and background_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
  • 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 using travis, test code coverage using covr)
  • Activated Github Page: https://shosaco.github.io/vistime/
  • Argument showLabels has been renamed to show_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 argument background_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 column color 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