Add convenience bindings for ggplot2 and plotly with hyperlinks

These functions will probably be moved to a separate package.

Change-Id: Iaecd23b1401bc5df7ee4a904dca2e87466266143
diff --git a/demo/alternativesOverTime.R b/demo/alternativesOverTime.R
index ae91ff5..dca55b3 100755
--- a/demo/alternativesOverTime.R
+++ b/demo/alternativesOverTime.R
@@ -11,19 +11,14 @@
   df <- expand_grid(Variant = alternatives, year = years) %>%
     cbind(corpusQuery(kco, .$Variant, sprintf("textType = /Zeit.*/ & pubDate in %d", .$year))) %>%
     group_by(year) %>% mutate(tokens = sum(totalResults)) %>%
-    ci()
-  g <- ggplot(data = df, mapping = aes(x = year, y = f, color = Variant, fill = Variant, ymin = conf.low, ymax = conf.high)) +
+    ci() %>%
+    rename(share=f)
+  g <- ggplot(data = df, mapping = aes(x = year, y = share, colour = Variant, fill = Variant)) +
     geom_freq_by_year_ci() +
     ggtitle(paste0(alternatives, collapse = " vs. ")) +
     xlab("TIME") +
     ylab(sprintf("Observed frequency ratio"))
-  pp <- ggplotly(g, tooltip = c("x", "y"))
-  for (i in 1:length(alternatives)) {
-    vdata <- df[df$Variant == alternatives[i],]
-    pp$x$data[[2+i]]$customdata <- vdata$webUIRequestUrl
-    pp$x$data[[2+i]]$text <- sprintf("%s<br />absolute: %d / %d", pp$x$data[[2+i]]$text, vdata$totalResults, vdata$tokens)
-  }
-  ppp <- onRender(pp, "function(el, x) { el.on('plotly_click', function(d) { var url=d.points[0].customdata; window.open(url, 'korap') })}")
+  ppp <- RKorAPClient::ggplotly(g)
   print(ppp)
   df
 }
diff --git a/demo/conditionsOverTime.R b/demo/conditionsOverTime.R
index 9f0590d..b23d2bf 100644
--- a/demo/conditionsOverTime.R
+++ b/demo/conditionsOverTime.R
@@ -6,17 +6,19 @@
 #install_git("https://korap.ids-mannheim.de/gerrit/KorAP/RKorAPClient", upgrade="never")
 library(RKorAPClient)
 library(ggplot2)
+library(plotly)
 
 conditionsOverTime <- function(query, conditions, years, kco = new("KorAPConnection", verbose = TRUE)) {
   g <- expand_grid(condition = conditions, year = years) %>%
     cbind(frequencyQuery(kco, query, sprintf("%s & pubDate in %d", .$condition, .$year))) %>%
     ipm() %>%
-    ggplot(aes(x = year, y = ipm, fill=condition, color=condition, ymin=conf.low, ymax=conf.high)) +
+    ggplot(aes(x = year, y = ipm, fill=condition, color=condition)) +
     geom_freq_by_year_ci() +
     xlab("TIME") +
     labs(color="Virtual Corpus", fill="Virtual Corpus") +
     ylab(sprintf("Observed frequency/million of \u201c%s\u201d", query))
-  print(g)
+  p <- RKorAPClient::ggplotly(g)
+  print(p)
 }
 
 conditionsOverTime("[tt/l=Heuschrecke]", c("textClass = /natur.*/", "textClass=/politik.*/", "textClass=/wirtschaft.*/"), (2002:2018))