在mainPanel之后,标题语法不会以换行符开始

时间:2019-04-09 11:30:48

标签: r shiny r-markdown

我正在尝试学习如何创建包含Shiny元素的R Markdown文档。

我最终遇到一个问题,标题语法##不在标题之前创建新行,而是标题显示在前一个mainPanel元素的右边。下面显示了结果图像:

enter image description here

这是生成情况的代码:

---
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.

我应该怎么做才能确保标题以新行开头?

1 个答案:

答案 0 :(得分:1)

mainPanel()并不意味着一个人。如果您查看文档,它是在sidebarLayout()内部创建的,布局将由它自己处理。

正确的做法是从代码中删除mainPanel(),这将解决此问题。如果使用它是因为您希望绘图不占用整个宽度,则可以使用width Rmd块选项。

我不建议使用的另一种解决方案,但是如果您确实希望使用面板,也可以使用该解决方案,方法是通过创建完整的sidebarLayout()来正确完成面板:

sidebarLayout(
  mainPanel = mainPanel(plotOutput("plot")),
  sidebarPanel = "",
  position = "right"
)