【问题标题】:provide option to plot or display a image in shiny提供以闪亮的方式绘制或显示图像的选项
【发布时间】:2018-06-13 08:42:27
【问题描述】:

我已经编写了这个闪亮的应用程序,我想在其中提供选项来选择在主面板中绘制输出或显示图像,但这不起作用,知道可以在哪里添加此选项吗?

ui <- fluidPage(
  titlePanel("time-profilling"),

  sidebarLayout(
    sidebarPanel(   
      selectInput("vari", "x-Variable:",
              c("M","N","K","heatmap" )),
    uiOutput("ui1"),
    uiOutput("ui2")
  ),

  mainPanel(
    if(input$vari == "M" || input$vari == "N" || input$vari == "K" ){
      plotlyOutput("results", height = "800px", width = "800px")
    }
    else if(input$vari == "heatmap"){
      imageOutput("image1")
      imageOutput("image2")
    }  
  )
 )
)

【问题讨论】:

    标签: r shiny shinydashboard


    【解决方案1】:

    在您的示例中确实没有足够的内容可以使用 - 一些数据或一些绘图会有所帮助。但这里有两个想法和一个代码结构,希望能帮助你走上正确的道路......

    1. 您不能在闪亮应用的 UI 中添加任何逻辑。 ifelse 语句应该都在服务器中,而你这里没有。
    2. 该服务器代码应与您拥有的每个输出(绘图或图像)配对,如下所示。

    下面的修改和附加代码:

    library(shiny)
    library(plotly)
    ui <- fluidPage(
      titlePanel("time-profilling"),
      sidebarLayout(
        sidebarPanel(   
          selectInput("vari", "x-Variable:",
                      c("M","N","K","heatmap" )),
          uiOutput("ui1"),
          uiOutput("ui2")
        ),
        mainPanel(
            plotlyOutput("results", height = "800px", width = "800px"),
            imageOutput("image1"),
            imageOutput("image2")
        )
      )
    )
    
    server <- function(input, output) {
      output$results <- renderPlotly({
        if(input$vari == "M" || input$vari == "N" || input$vari == "K" ) {
          ## Plotly code goes here
        }
        return(NULL)
      })
    
      output$image1 <- renderImage({
        if(input$vari == "heatmap"){
          ## Pre-rendered image code goes here
        }
        return(NULL)
      })
    
      output$image2 <- renderImage({
        if(input$vari == "heatmap"){
          ## Pre-rendered image code goes here
        }
        return(NULL)
      })
    }
    
    shinyApp(ui, server)
    

    目前输入不提供任何内容,因为您需要输入代码来绘制绘图或查找图像,但结构应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 2019-09-25
      • 1970-01-01
      • 2019-05-20
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多