Я работаю с shiny, чтобы создать раскрывающееся окно, в котором вы можете выбрать элемент. Когда этот элемент выбран, отображается график. Когда я запускаю график plotly, я получаю красивый график рассеяния, но когда я запускаю его в блестящем приложении, я получаю прямую линию на каждом из трех элементов.
Это программный код, который работает сам по себе:
library(plotly)
plot_ly(df1, x = ~time, y = ~item1, color = ~item1)
%>% add_lines(name = ~"item1")
Вот как выглядит набор данных с 4 столбцами и 26949 строками:
time item1 item2 item3
1 2018-04-09 00:00:06 615 NA NA
2 2018-04-09 00:00:08 NA 465 NA
3 2018-04-09 00:00:08 NA NA NA
4 2018-04-09 00:00:10 NA NA 422
5 2018-04-09 00:00:13 NA NA NA
6 2018-04-09 00:00:21 522 NA 385
7 2018-04-09 00:00:25 NA NA NA
.... .... .... .... ...
26949 2018-04-09 23:59:59 323 NA 200
Блестящий код выглядит следующим образом:
#Import libraries
library(shiny)
library(plotly)
# Define UI for the application
ui <- bootstrapPage(
selectInput(inputId = "n_breaks",
label = "Select Item:",
choices = c("item1", "item2", "item3"),
selected = "item1"),
plotlyOutput(outputId = "main_plot", height = "300px")
)
# Define server logic
server <- function(input, output) {
#Import data
df = read.csv("item_list.csv")
output$main_plot <- renderPlotly({
#Plotly graph
plot_ly(df, x = ~time, y = ~input$n_breaks, color = ~input$n_breaks) %>%
add_lines(name = ~input$n_breaks)
})
}
# Run the application
shinyApp(ui = ui, server = server)
По большей части этот код работает, но график испорчен. Любая помощь будет принята с благодарностью!