diff --git a/R/misc.R b/R/misc.R
index 50b8821..9a97f22 100644
--- a/R/misc.R
+++ b/R/misc.R
@@ -22,3 +22,30 @@
 }
 
 
+#' Plot frequency by year graphs with confidence intervals
+#'
+#' Convenience function for plotting typical frequency by year graphs with confidence intervals using ggplot2.
+#'
+#' @examples
+#' library(ggplot2)
+#' kco <- new("KorAPConnection", verbose=TRUE)
+#' expand_grid(condition = c("textDomain = /Wirtschaft.*/", "textDomain != /Wirtschaft.*/"),
+#'             year = (2002:2018)) %>%
+#'   cbind(frequencyQuery(kco, "[tt/l=Heuschrecke]",
+#'                             paste0(.$condition," & pubDate in ", .$year)))  %>%
+#'   ipm() %>%
+#'   ggplot(aes(year, ipm, fill = condition, color = condition, ymin = conf.low, ymax = conf.high)) +
+#'   geom_freq_by_year_ci()
+#'
+#' @importFrom ggplot2 geom_ribbon geom_line geom_point theme element_text scale_x_continuous
+#'
+#' @export
+geom_freq_by_year_ci <- function() {
+  list(
+    geom_ribbon(alpha = .3, linetype = 0, show.legend = FALSE),
+    geom_line(),
+    geom_point(),
+    theme(axis.text.x = element_text(angle = 45, hjust = 1)),
+    scale_x_continuous(breaks = function(x) seq(ceiling(x[1]), floor(x[2]), by = 1 + floor(((x[2]-x[1])/30)))))
+}
+
