2016-12-15 18 views
1

我有一個變量data結構如下:獲得單獨繪製線不同的變量

week: int 1 1 2 2 3 3 4 4 5 5 ... 
earn: int 2 3 2 7 8 9 2 6 4 2 ... 
name: chr "C", "A", "C", "A" ... 

每個名稱(人)有一個星期就賺了什麼。所以從上面我們可以看出C在第一週賺了2美元,而A在第一週賺了3美元.C在第二週賺了2美元,而A在第二週賺了2美元。

我想在一個折線圖上繪製這個圖。以下是我所嘗試過的。

p <- plot.ly(data, x = data$week, name = "Week", type = "scatter", mode = "lines") %>% 
    add_trace(y = data$earn, name = "earn", mode = "lines+markers) %>% 
    add_trace(y = data$earn, name = "earn", mode = "markers") 

p 

然而,這給出了一個行,其中爲一個星期的標記物具有(2,3),因爲這是無論在這一週的收入的曲線圖。不過,我想要兩行,因此可以清楚地看到這兩個名稱的收入差異。

回答

1

定義顏色會給你你想要的。

p <- plot_ly(data, x = ~week, y = ~ earn) %>% 
    add_lines(color = ~name) %>% 
    add_markers(color = ~name, showlegend = FALSE) 
p 

或者你也可以使用:

p <- plot_ly(data=data, x = ~week, y = ~ earn) %>% 
    add_traces(color = ~name, mode = "lines+markers") 
p 
+0

這工作。但是,在圖例中,我會看到兩行顯示兩個名稱的顏色,還有兩個標記顯示兩個名稱的顏色。是否有可能僅爲每個名稱使用一次顏色而不是兩次? – petermark

+0

@petermark,請參閱編輯。如果在第一個示例中添加showlegend = FALSE,則會顯示一個圖例 – MLavoie