循环以使用动态绘图表创建rmd部分

时间:2019-06-17 13:35:02

标签: r r-markdown r-plotly

尝试创建一个函数或一个循环,以创建一个新的r markdown标头节,该节包含一个图(plot_ly),而图表图列链接到该节的标题(即列名=标题和y轴)。我需要对多个部分以及将要更新的数据集执行此操作,因此我想避免不必手动定义每个代码块。这在flexdashboard html文档中。

试图在绘图之前/之后使用cat,但图表不会显示

library(dplyr)
library(plotly)

# simplified example dataframe
df <- data.frame(
  Date = c(1:10 + Sys.Date()), # dates after today
  Group = rep(c("A", "B"), 5),
  Column1 = rnorm(n = 10),
  Column2 = rnorm(n = 10)
)

# list of columns to plot in new sections
plottable <- c("Column1", "Column2")

# failed experiment
for(i in plottable){
  cat("  \n###", i ," \n")

  plot_ly(data = df,
          y = ~get(i),
          x = ~Date,
          color = ~Group,
          type = "scatter") %>%
    layout(yaxis = list(title = i),
           xaxis = list(title = "Sample Date"),
           margin = list(l = 70, b = 60,t = 20, pad = 2))

  cat("  \n")
}

我希望每个图都有一个新的部分,但图表不会出现在html输出中。我猜想这与密谋产生一个html对象有关。我曾尝试将plot对象放入打印和/或return语句中,但这也不起作用。

0 个答案:

没有答案