我正在尝试学习如何创建包含Shiny元素的R Markdown文档。
我最终遇到一个问题,标题语法##
不在标题之前创建新行,而是标题显示在前一个mainPanel
元素的右边。下面显示了结果图像:
这是生成情况的代码:
---
output: html_document
runtime: shiny
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r pressure, echo=FALSE}
mainPanel(plotOutput("plot"))
output$plot <- renderPlot({
plot(pressure)
})
```
## Next header
Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.
我应该怎么做才能确保标题以新行开头?
答案 0 :(得分:1)
mainPanel()
并不意味着一个人。如果您查看文档,它是在sidebarLayout()
内部创建的,布局将由它自己处理。
正确的做法是从代码中删除mainPanel()
,这将解决此问题。如果使用它是因为您希望绘图不占用整个宽度,则可以使用width
Rmd块选项。
我不建议使用的另一种解决方案,但是如果您确实希望使用面板,也可以使用该解决方案,方法是通过创建完整的sidebarLayout()
来正确完成面板:
sidebarLayout(
mainPanel = mainPanel(plotOutput("plot")),
sidebarPanel = "",
position = "right"
)