我正在构建一个应用程序,用户可以在其中上传数据并查看数字字段的相关图。 由于用户可以上传不同大小的数据集,因此我制作了一个滑块,以便他们可以改变绘图的大小。 虽然这种方法有效,但情节越大,距离就越远——它会向右和向下移动。 因此,根据屏幕的不同,用户可能会认为情节失败了! 有没有办法让情节与其他内容保持一致? 我怀疑在某处添加了填充,但找不到解决方案 - 感谢任何建议?
这是我的代码的迷你版本 - 如果您运行它并增加大小,您会看到问题:
#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)
我尝试在
mar
函数本身中使用 corrplot
参数,您可以在其中指定边距:
corrplot::corrplot(cor(dplyr::select_if(Table2, is.numeric)), mar = c(5, 0.1, 0.1, 2))
但它只会减少边距(当您更改绘图大小时,它们仍然会变大)。
我建议将其作为帮助页面来探索
corrplot
链接到另一个包含大量参数的页面。
此外,我会尝试直接在绘图级别设置宽度/高度,而不是
plotOutput
(我没有找到如何做到这一点)。
这样你甚至可以将问题转化为纯粹的 corrplot 项目以获得最好的专家;)