改变图形大小(Rstudio、Rmarkdown、Shiny)

Posted

技术标签:

【中文标题】改变图形大小(Rstudio、Rmarkdown、Shiny)【英文标题】:Changing figure size (Rstudio, Rmarkdown, Shiny) 【发布时间】:2021-07-19 10:02:24 【问题描述】:

我正在尝试使用 Rstuidio 在 R Markdown HDML 输出中输出图表。目前图表太大,所以它创建了一个滚动条让你看到整个事情,我不喜欢。我想在不减小图形大小的情况下移除滚动条。

不幸的是,闪亮(或至少我使用闪亮的方式)似乎与执行此操作的正常方法存在问题。在块设置中设置 fig.height = 40 不会做任何事情,并且增加 plotOutput 中的高度会增加图形高度而不移除滚动条。我用标准的 Rscript 没有这个问题,所以它绝对是 Rmarkdown 的东西。

任何帮助将不胜感激。

library(tidyverse)
library(shiny)

server <- function(input, output, session) 
  
  trends <- reactive(
    req(input$sel_year)
    mpg %>%
    filter(year %in% input$sel_year)
    
  )
      
  output$plot <- renderPlot(
    ggplot(
      data = trends(),
      mapping = aes(x = trans)
    ) + 
      geom_bar()
  )


ui <- fluidPage(
  selectInput(
    inputId = "sel_year",
    label = "Choose Year",
    list("1999", "2008")
  ),
  plotOutput("plot")
)

shinyApp(ui = ui, server = server)

【问题讨论】:

你有剩下的 Rmarkdown 代码吗?您的代码只是闪亮的代码,没有 Rmarkdown。谢谢 【参考方案1】:

这就是我在 Rmarkdown 中使用 Shiny 的方式。这是answer I used。您可以使用 options 参数调整闪亮的 shinyApp() 函数。

WITHOUT FIX(注意滚动条)

使用下面的代码

---
title: "Shiny in Rmarkdown"
output: html_document
runtime: shiny
---

```r echo = FALSE, warning=FALSE, message=FALSE 
library(tidyverse)
library(shiny)

server <- function(input, output, session) 
    
    trends <- reactive(
        req(input$sel_year)
        mpg %>%
            filter(year %in% input$sel_year)
        
    )
    
    output$plot <- renderPlot(
        ggplot(
            data = trends(),
            mapping = aes(x = trans)
        ) + 
            geom_bar()
    )


ui <- fluidPage(
    selectInput(
        inputId = "sel_year",
        label = "Choose Year",
        list("1999", "2008")
    ),
    plotOutput("plot")
)

shinyApp(ui = ui, server = server, options = list(height = 750))
```

【讨论】:

以上是关于改变图形大小(Rstudio、Rmarkdown、Shiny)的主要内容,如果未能解决你的问题,请参考以下文章

shinyApp 没有将 Rmarkdown 文件呈现为 RStudio

在 Rmarkdown html 文档中并排时使图形大小(宽度和高度)相同

Rstudio Rmarkdown编织到多个pdf?

在 RMarkdown 文档中使用参考书目时,如何在 RStudio 中使用 --citeproc 而不是 pandoc-citeproc?

R Markdown 无法获取 RStudio 版本 - knit 中的错误消息

在 RMarkdown 中调整图像大小