loh*_*hbb 3 r ggplot2 r-markdown
我可以使用RMarkdown来嵌入情节 {.tabset}
#### Heading {.tabset}
##### Subheading 1
```{r, echo=F}
df[[1]]
```
Run Code Online (Sandbox Code Playgroud)
这会在预览窗格中生成带有指定图形的单个选项卡(df是图表列表,调用df[[i]]生成图形)(在RStudio中呈现所有图形内联).
我可以使用for循环生成标签.
```{r, results='asis', echo = FALSE}
for (i in 1:length(gg0)) {
cat("##### ",q$Subheading[i],"\n")
}
```
Run Code Online (Sandbox Code Playgroud)
这会产生所需的输出 - 带有子标题列中名称的选项卡.
但是,我试图使用for循环尝试生成图形,类似于我手动编码时的方式.
扩展上面的内容,我尝试生成产生初始输出的降价,但是无法生成绘图(在内联降价和预览中).
```{r, results='asis', echo = FALSE}
for (i in 1:length(gg0)) {
cat("##### ",q$Subheading[i],"\n")
cat('```{r, echo=F} \n')
cat("gg0[[",i,"]]\n")
cat('``` \n')
}
```
Run Code Online (Sandbox Code Playgroud)
也许我错过了关于降价的一个更好的观点?我尝试了各种模式cat(甚至没有)
我更喜欢RMarkdown解决方案,但其他解决方案同样受欢迎.
我玩了一下,找到了解决方案.你必须print在asis代码块中使用...
```{r}
library(ggplot2)
gg0 <- list()
gg0[[1]] <- ggplot(mtcars, aes(mpg, hp)) + geom_point()
gg0[[2]] <- ggplot(mtcars, aes(mpg, disp)) + geom_point()
gg0[[3]] <- ggplot(mtcars, aes(mpg, drat)) + geom_point()
headings <- c('hp','disp','drat')
```
#### Heading {.tabset}
```{r, results='asis', echo = FALSE}
for (i in 1:length(gg0)) {
cat("##### ",headings[i],"\n")
print(gg0[[i]])
cat('\n\n')
}
```
Run Code Online (Sandbox Code Playgroud)
作为解释,该cat命令与results='asis'较低级别标题一起生成降价代码,然后打印ggplot图.由于我们在父标题中使用了`{.tabset},因此它会在单独的标签中创建绘图.
| 归档时间: |
|
| 查看次数: |
1545 次 |
| 最近记录: |