【发布时间】:2017-12-11 19:39:35
【问题描述】:
我想创建一个函数,根据传入的参数创建不同类型的绘图。如果我创建以下数据
library(plotly)
#### test data
lead <- rep("Fred Smith", 30)
lead <- append(lead, rep("Terry Jones", 30))
lead <- append(lead, rep("Henry Sarduci", 30))
proj_date <- seq(as.Date('2017-11-01'), as.Date('2017-11-30'), by = 'day')
proj_date <- append(proj_date, rep(proj_date, 2))
set.seed(1237)
actHrs <- runif(90, 1, 100)
cummActHrs <- cumsum(actHrs)
forHrs <- runif(90, 1, 100)
cummForHrs <- cumsum(forHrs)
df <- data.frame(Lead = lead, date_seq = proj_date,
cActHrs = cummActHrs,
cForHrs = cummForHrs)
我可以使用:
plot_ly(data = df, x = ~date_seq, y = ~cActHrs, split = ~Lead)
如果我制作了如下所示的 makePlot 函数,我将如何让它做这样的事情:
makePlot <- function(plot_data = df, x_var = date_seq, y_var, split_var) {
plot <- plot_ly(data = df, x = ~x_var, y = ~y_var, split = ~split_var)
return(plot)
}
?
是否有一个函数可以包装 x_var、y_var 和 split_var,以便 plotly 将它们识别为 x、y 和 split 参数?
【问题讨论】: