我想将两个数据集的无功输出作为不同的geom_lines包含在同一ggplotly图中。当仅包含一个反应性data.frame作为geom_line时,代码将按预期运行。为什么不两个?
base64
答案 0 :(得分:1)
当您将数据放入长格式并为每个组分配一个组标识符时,它似乎起作用。请注意,您应该能够将sliderInput
改回selectInput
-这是我在测试期间切换的条目之一,但是UI小部件的选择无关紧要。
这行得通-可以从此处简化反应式内部的代码:
library(plotly)
ui <- fluidPage(
sidebarLayout(
sliderInput("Var1",
label = "Variable", #DATA CHOICE 1
min=10, max=100, value=10),
sliderInput("Var2",
label = "Variable2", #DATA CHOICE 2
min=10, max=100, value=10),
),
mainPanel(
plotlyOutput('plot') #Draw figure
)
)
server <- function(input, output) {
out <- reactive({
x1 <- rnorm(input$Var1)
y1 <- seq(1:input$Var1)
x2 <- rnorm(input$Var2)
y2 <- seq(1:input$Var2)
xx <- c(x1,x2)
yy <- c(y1,y2)
gg <- c( rep(1,length(y1)), rep(2,length(y2)) )
df <- data.frame(cbind(xx,yy,gg))
df
})
output$plot <- renderPlotly({
p <- ggplot() +
geom_line(data=out(), aes(x = xx, y = yy, group=gg, colour=gg))
ggplotly(p)
})
}
shinyApp(ui = ui, server = server)