0
我在那系統會根據各種用戶輸入過濾閃亮應用一個數據幀。[R plotly添加有條件基於可用的列上的痕跡在數據幀
global_evolution=reactive({
results_combined %>%
filter(!is.na(SVM_LABEL_QOL) & SVM_LABEL_QOL=='QoL' & globalsegment==input$inp_pg1segment & Account==input$inp_pg1clientsfiltered & Date >=input$inp_pg1daterange[1] & Date <=input$inp_pg1daterange[2]) %>% #Inputs
select(Account,Date,SVM_LABEL_DIMENSION) %>%
mutate(Month=month(as.Date(format(as.POSIXct(Date),format = "%d/%m/%Y"),"%d/%m/%Y"))) %>%
select(Account,Month,SVM_LABEL_DIMENSION,-Date) %>%
group_by(Month,SVM_LABEL_DIMENSION) %>%
summarise(Monthly_Count=n()) %>%
spread(SVM_LABEL_DIMENSION,Monthly_Count) %>%
ungroup() %>%
mutate(Month=month.abb[Month]) %>%
mutate_all(funs(replace(., is.na(.), 0)))
})
在接下來的步驟中,我通過這個過濾數據幀通過plot_ly
功能
這裏就是我需要幫助
我試圖讓plot_ly
到有條件地添加行(添加痕跡),根據給出的列是否在數據幀中可用或者不是。目前,plot_ly
如果add_trace
中包含的任何列在數據幀被過濾後不可用,則會引發錯誤。
這是我與plot_ly
輸出閃亮的應用程序的一部分。 我試圖在add_trace
參數之間添加if-else
聲明,但我的嘗試未獲成功。
output$pg1evolution <- renderPlotly({
global_evolution_final() %>%
plot_ly(x = ~Month, y = ~`COLUMN_1`, name = 'Column 1', type = 'scatter', mode = 'lines') %>%
add_trace(y = ~`COLUMN_2`, name = 'Column 2') %>%
add_trace(y = ~`COLUMN_3`, name = 'Column 3') %>%
add_trace(y = ~`COLUMN_4`, name = 'Column 4') %>%
add_trace(y = ~`COLUMN_5`, name = 'Column 5') %>%
add_trace(y = ~`COLUMN_6`, name = 'Column 6') %>%
layout(title = "Trend Over Time",
xaxis = list(title = ""),
yaxis = list (title = "Monthly Count of Products Sold"))
})
我很抱歉無法包含可重現的數據框,我意識到這會讓事情變得更簡單。 非常感謝您的任何提示/指針。
優雅的解決方案添加跟蹤。謝謝尼克! – Varun
Niket我對代碼做了一個小修改,輸入='bar'而不是線條圖。但是,當我繪製它時,我會在圖例中看到「跟蹤0」以及其他列名稱。你知道這是從哪裏來的嗎? – Varun