避免不必要的细节

在实践中,闪亮的应用程序通常非常复杂,并且具有随着时间的推移而开发的功能。通常,这些额外的细节不是重现你的问题所必需的。最好是在编写 MCVE 时跳过这些细节。

错误

为什么我的情节没有显示?

library(shiny)
library(ggplot2)

ui <- fluidPage(
  plotOutput('plot')
)

server <- function(input, output, session){
  df <- data.frame(treatment = rep(letters[1:3], times = 3),
                   context = rep(LETTERS[1:3], each = 3),
                   effect = runif(9,0,1))
  df$treat.con <- paste(df$treatment,df$context, sep = ".")
  df$treat.con <- reorder(df$treat.con, -df$effect, )
  output$plot = renderPlot({
    myPlot <- ggplot(df, aes(x = treat.con, y = effect)) +
       geom_point() +
       facet_wrap(~context, 
                  scales = "free_x",
                  ncol = 1)
  })
}

shinyApp(ui, server)

为什么我的 Plot 没有显示?

library(shiny)
library(ggplot2)

ui <- fluidPage(
  plotOutput('plot')
)

server <- function(input, output, session){
  output$plot = renderPlot({
    myPlot <- ggplot(mtcars, aes(mpg, wt)) + geom_point() 
  })
}

shinyApp(ui, server)