2017-09-04 21 views
1

我試圖在R中使用閃亮動畫來爲多個全球城市的XY數據點(x =人口,y =汽車)隨着時間的推移進行動畫製作。每個城市都被它所在的大陸組合/着色(即亞洲所有城市的顏色相同,歐洲所有城市的顏色相同,等等)。在這個階段,包括動畫在內的所有內容都可以正常工作,播放按鈕和日期滑塊正確顯示這些城市的結果隨着時間的流逝。在Plotly的動畫圖例中製作可持續的選擇

我的問題是,在動畫圖表時,我的圖表圖例中特定大洲的選擇/取消選擇不會持續。例如,如果我在圖表的圖例中切換「歐洲」,正如預期的那樣,與歐洲城市相關的所有數據點都將消失。但是,如果我點擊播放按鈕來運行動畫,那麼歐洲數據點應該保持隱藏狀態時再次出現。是否有一個可以改變的情節設置,以便在動畫製作時我的選擇內容不會再出現?

我附上2張圖片顯示此問題。

1:我已從傳說中取消選擇「歐洲」,現在變灰了。所有的歐洲數據點都如預期般消失。這裏沒有問題。 #1

2:這是問題所在。儘管在傳說中仍未取消選擇「歐洲」,但在將日期滑塊拖到第二天時,橙色/歐洲數據點會重新出現。有沒有辦法確保他們保持隱藏狀態? #2

我已經複製了下面閃亮的R代碼。

感謝您的幫助!

server.R

library("shiny") 
library ("ggplot2") 
library ("plotly") 

setwd ("C:/Desktop") 
file.names <- list.files (pattern = ".csv", recursive = TRUE) 
imported <- sapply (file.names, read.csv, header = TRUE, simplify = FALSE)  
names (imported) <- gsub (".csv", "", names(imported)) 
names (imported) <- strptime (names(imported), "%Y%m%d") 

for (i in 1:length(imported)) { 
    imported[[i]]$Date <- names(imported[i]) 
} 
imported <- do.call (rbind, imported) 
imported <- as.data.frame (imported) 

shinyServer(function(input, output) { 
    output$chart.animate <- renderPlotly({ 
    chart.xy <- plot_ly() 
    chart.xy <- add_markers(chart.xy, x = ~Population, y = ~Cars, color = ~Continent, frame = ~Date, ids =~City, data = imported) 
    chart.xy <- animation_opts(chart.xy, redraw = FALSE) 
    return (chart.xy) 
    }) 
}) 

ui.R

library("shiny") 

shinyUI(fluidPage(
    mainPanel(
    plotlyOutput('chart.animate') 
) 
)) 
+0

似乎是一個普通的bug,同樣的問題可以在這裏找到:https://plot.ly/r/animations/#mulitple-trace-animations –

+0

有趣的,特別是它可能是一個只有R版本的bug情節劇烈。 Python示例中的相同類型的圖表正常工作。頁面底部:[鏈接](https://plot.ly/python/animations/) – barrio

回答

0

在Python3,您可以通過動畫通過將所有條目進入傳奇組,使圖例項持續的選擇數據字典中的「legendgroup」=「[組名稱]」。

如果將所有「亞洲」系列放入一個圖例組(同樣適用於其他系列),您的選擇/取消選擇將通過動畫持續存在。