Visualization Workflows
Chart Series
Choose What To Plot
Visualization starts by choosing the series that should become the plotted values.
Program
Play the script to change the selected metric and watch the plotted-series summary update.
chart_series.R
Replay: real traced execution (multi-file project)
metric_index <- 2
metric <- c("visits", "orders", "revenue")[metric_index]
series <- list(visits = c(12, 18, 21), orders = c(3, 5, 6), revenue = c(30, 52, 61))[[metric]]
total <- sum(series)
label <- paste(metric, total, sep = ":")
cat(label, "\n", sep = "")
metric_index <- 1
metric <- c("visits", "orders", "revenue")[metric_index]
series <- list(visits = c(12, 18, 21), orders = c(3, 5, 6), revenue = c(30, 52, 61))[[metric]]
total <- sum(series)
label <- paste(metric, total, sep = ":")
cat(label, "\n", sep = "")
metric_index <- 3
metric <- c("visits", "orders", "revenue")[metric_index]
series <- list(visits = c(12, 18, 21), orders = c(3, 5, 6), revenue = c(30, 52, 61))[[metric]]
total <- sum(series)
label <- paste(metric, total, sep = ":")
cat(label, "\n", sep = "")
metric_index ← 2
1metric_index <- 22metric <- c("visits", "orders", "revenue")[metric_index]values this step2metric_indexmetric ← orders
1metric_index <- 22metric <- c("visits", "orders", "revenue")[metric_index]3series <- list(visits = c(12, 18, 21), orders = c(3, 5, 6), revenue = c(30, 52, 61))[[metric]]values this stepordersmetric2metric_indexseries ← 3, 5, 6
2metric <- c("visits", "orders", "revenue")[metric_index]3series <- list(visits = c(12, 18, 21), orders = c(3, 5, 6), revenue = c(30, 52, 61))[[metric]]4total <- sum(series)values this step3, 5, 6seriesordersmetrictotal ← 14
3series <- list(visits = c(12, 18, 21), orders = c(3, 5, 6), revenue = c(30, 52, 61))[[metric]]4total <- sum(series)5label <- paste(metric, total, sep = ":")values this step14total3, 5, 6serieslabel ← orders:14
4total <- sum(series)5label <- paste(metric, total, sep = ":")6cat(label, "\n", sep = "")values this steporders:14labelordersmetric14totalcat(label, " ", sep = "")
5label <- paste(metric, total, sep = ":")6cat(label, "\n", sep = "")outputorders:14values this steporders:14label
metric_index ← 1
1metric_index <- 12metric <- c("visits", "orders", "revenue")[metric_index]values this step1metric_indexmetric ← visits
1metric_index <- 12metric <- c("visits", "orders", "revenue")[metric_index]3series <- list(visits = c(12, 18, 21), orders = c(3, 5, 6), revenue = c(30, 52, 61))[[metric]]values this stepvisitsmetric1metric_indexseries ← 12, 18, 21
2metric <- c("visits", "orders", "revenue")[metric_index]3series <- list(visits = c(12, 18, 21), orders = c(3, 5, 6), revenue = c(30, 52, 61))[[metric]]4total <- sum(series)values this step12, 18, 21seriesvisitsmetrictotal ← 51
3series <- list(visits = c(12, 18, 21), orders = c(3, 5, 6), revenue = c(30, 52, 61))[[metric]]4total <- sum(series)5label <- paste(metric, total, sep = ":")values this step51total12, 18, 21serieslabel ← visits:51
4total <- sum(series)5label <- paste(metric, total, sep = ":")6cat(label, "\n", sep = "")values this stepvisits:51labelvisitsmetric51totalcat(label, " ", sep = "")
5label <- paste(metric, total, sep = ":")6cat(label, "\n", sep = "")outputvisits:51values this stepvisits:51label
metric_index ← 3
1metric_index <- 32metric <- c("visits", "orders", "revenue")[metric_index]values this step3metric_indexmetric ← revenue
1metric_index <- 32metric <- c("visits", "orders", "revenue")[metric_index]3series <- list(visits = c(12, 18, 21), orders = c(3, 5, 6), revenue = c(30, 52, 61))[[metric]]values this steprevenuemetric3metric_indexseries ← 30, 52, 61
2metric <- c("visits", "orders", "revenue")[metric_index]3series <- list(visits = c(12, 18, 21), orders = c(3, 5, 6), revenue = c(30, 52, 61))[[metric]]4total <- sum(series)values this step30, 52, 61seriesrevenuemetrictotal ← 143
3series <- list(visits = c(12, 18, 21), orders = c(3, 5, 6), revenue = c(30, 52, 61))[[metric]]4total <- sum(series)5label <- paste(metric, total, sep = ":")values this step143total30, 52, 61serieslabel ← revenue:143
4total <- sum(series)5label <- paste(metric, total, sep = ":")6cat(label, "\n", sep = "")values this steprevenue:143labelrevenuemetric143totalcat(label, " ", sep = "")
5label <- paste(metric, total, sep = ":")6cat(label, "\n", sep = "")outputrevenue:143values this steprevenue:143label
metric choice
A selected name chooses one vector from a named list.
series
The selected vector is the data a plotting call would draw.
summary label
A small label confirms which series is being prepared.