在闪亮的应用程序中缩放dgr_graph的更好方法

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

我正在构建一个闪亮的应用程序,该应用程序应该显示bupaR process_map,可以正常工作。

可悲的是process_map()函数返回一个dgr_graph对象,无法使用DiagrammeR::renderGrViz()DiagrammeR::renderDiagrammeR()函数进行渲染。我找到了一种使用grViz / htmlwidget将其转换为render_graph()对象的方法,但是这种方法无法很好地缩放图形。由于我要处理很长的线性图,因此这特别糟糕。

这里是MWE:

# server.R
library(DiagrammeR)
library(bupaR)

shinyServer(
  function(input, output) {

    plot <- patients %>%
      process_map(rankdir = "TB",
                  render = FALSE)

    output$diagram <- renderGrViz({
      render_graph(plot)
    })

  }
)
# ui.R
library(DiagrammeR)

shinyUI(fluidPage(
  titlePanel("DiagrammeR + shiny"),
  grVizOutput(outputId = "diagram")
))

是否有更好的方法来显示闪亮的dgr_graph对象,该对象会填充应用程序的整个宽度,而不仅仅是中间的后戳大小?理想的是自适应的东西,不需要固定的像素宽度。

r shiny diagrammer
1个回答
0
投票

事实证明,问题不在于服务器上的render_graph功能,而是UI中renderGrViz功能的默认设置。当您将其设置为grVizOutput(outputId = "diagram", height = "100%")时,它就可以正常工作。

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