The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Linevis Graph Timelines

Thomas Charlon

2025-01-09

Linevis Graph Timelines

Interactive Time Series Visualizations

Create interactive time series visualizations. ‘linevis’ includes an extensive API to manipulate a timeline after creation, and supports getting data out of the visualization. Based on the ‘vis.js’ Timeline JavaScript library and the ‘timevis’ package.

Basic call

Let’s assume you have the following time serie you want to display:

  library(linevis)

  df_data = data.frame(x = c('2014-06-11',
                             '2014-06-12',
                             '2014-06-13',
                             '2014-06-14',
                             '2014-06-15',
                             '2014-06-16'),
                       y = c(0,
                             1,
                             30000,
                             10,
                             150,
                             30000))

The minimum call to create a linevis time-series visualization is:

  linevis(df_data)

We can add a group, e.g. to set a threshold. To style them with CSS, we use the className column in the group data frame.

  df_data$group = 0

  df_threshold = data.frame(x = c('2014-06-09', '2014-06-18'),
                            y = c(20, 20),
                            group = 1)

  df_data = rbind(df_data, df_threshold)

  df_group = data.frame(id = 0:1,
                        content = c('Time-serie', 'Threshold'),
                        className = c('grp1', 'grp2'))
  /* CSS styling, to include either inline or as a separate file */

  .grp1 {
    fill: #0df200;
    fill-opacity: 0;
    stroke-width: 2px;
    stroke: #0df200;
  }

  .grp2 {
    fill: #f23303;
    fill-opacity: 0;
    stroke-width: 2px;
    stroke: #f23303;
  }
  linevis(df_data, groups = df_group)

Finally we can set options, as:

  linevis_options = list(min = '2014-06-11', max = '2014-06-18',
                         interpolation = FALSE,
                         legend = list(left = list(position = 'bottom-left')))

  linevis(df_data, groups = df_group, log_scale = TRUE,
          options = linevis_options)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.