我正在 Flexdashboard 中运行一个循环,生成绘图对象。但是,不会打印任何图表。代码中是否存在错误,或者flexdashboard和plotly之间是否存在兼容性问题?
---
title: "flexdashboard with Plotly Loop"
output:
flexdashboard::flex_dashboard:
orientation: rows
---
```{r}
library(plotly)
# Your vector of variables
vec <- c("Sepal.Width", "Petal.Length", "Petal.Width")
# Start a flexdashboard tabset
cat("## Rows {.tabset}\n")
# Loop through each variable
for (yaxis in vec) {
# Display the heading for the tab
cat(paste0("### ", yaxis, "\n"))
# Start the Plotly chart chunk
cat("```{r}\n")
# Create the Plotly chart
fig <- plot_ly(data = iris,
x = ~Sepal.Length,
y = ~.data[[yaxis]],
type = 'scatter',
mode = 'markers')
# Print the chart
print(fig)
# End the chunk
cat("```\n")
}
``
调整我对 this post 的回答,它处理标准 R-Markdown 文档的相同问题,您可以像这样循环创建绘图图表:
确保包含 JS 依赖项,为此我添加了一个代码块,它在我设置的循环之外创建一个空的绘图图表。
include=FALSE
添加代码块的代码。实际上这不起作用,因为这只会在编织时将代码添加到您的降价中。但是,该代码块将不会被处理。
cat()
和
htmltools::tagList()
结果中。
print
。
results='asis'