如何控制 rshinyplotOutput 展开时的位置?

问题描述 投票:0回答:1

我正在构建一个应用程序,用户可以在其中上传数据并查看数字字段的相关图。 由于用户可以上传不同大小的数据集,因此我制作了一个滑块,以便他们可以改变绘图的大小。 虽然这种方法有效,但情节越大,距离就越远——它会向右和向下移动。 因此,根据屏幕的不同,用户可能会认为情节失败了! 有没有办法让情节与其他内容保持一致? 我怀疑在某处添加了填充,但找不到解决方案 - 感谢任何建议?

这是我的代码的迷你版本 - 如果您运行它并增加大小,您会看到问题:

#UI
ui <- fluidPage(
           h4("Table 2 matrix"),
           sliderInput("Size2", "select size", min = 250, max = 3000, value = 250),
           uiOutput("Heatmap2", inline = TRUE),
)
#server side 
server <- function(input, output, session) {
  Table2 <- (mtcars)
  output$Heatmap2 <- renderUI({
    plotOutput("cor2plot", width = input$Size2, height = input$Size2)
  })
  
  output$cor2plot <- renderPlot({
    # calculate correlation matrix
    corrplot::corrplot(cor(dplyr::select_if(Table2, is.numeric)))
  })
}
  # Create Shiny app ----
  shinyApp(ui, server)
r plot shiny alignment reactive
1个回答
0
投票

我尝试在

mar
函数本身中使用
corrplot
参数,您可以在其中指定边距:

corrplot::corrplot(cor(dplyr::select_if(Table2, is.numeric)), mar = c(5, 0.1, 0.1, 2))

但它只会减少边距(当您更改绘图大小时,它们仍然会变大)。

我建议将其作为帮助页面来探索

corrplot
链接到另一个包含大量参数的页面。

此外,我会尝试直接在绘图级别设置宽度/高度,而不是

plotOutput
(我没有找到如何做到这一点)。 这样你甚至可以将问题转化为纯粹的 corrplot 项目以获得最好的专家;)

© www.soinside.com 2019 - 2024. All rights reserved.