我写过这个闪亮的应用程序,我想提供选项来选择绘制输出或在主面板中显示图像,但这不起作用,任何想法可以添加此选项?
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")
}
)
)
)
答案 0 :(得分:0)
在你的例子中没有足够的工作 - 一些数据或一些绘图会有所帮助。但是这里有两个想法和一个代码结构,希望能让你开始走上正确的道路......
以下修订和附加代码:
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)
现在输入没有提供任何东西,因为你需要输入代码来绘制你的图或找到你的图像,但结构应该可以正常工作。