@Adam_G siehe unten. Es ist hack-y der Art, so könnte es einen besseren Weg geben, dies zu tun. Jemand, der besser informiert ist als ich, könnte etwas Licht in die Sache bringen.
library(plotly)
library(dplyr)
ds <- data.frame(x = 1:100,
y = sample(1:1000, size = 100),
group = sample(LETTERS[1:3], size = 100, replace = T))
# Default
plot_ly(ds, x = x, y = y, group = group, mode = "lines")
# Manually change linewidth (if not too many groups)
plot_ly(ds %>% filter(group == "A"), x = x, y = y, mode = "lines", line = list(width = 2)) %>%
add_trace(data = ds %>% filter(group == "B"), x = x, y = y, mode = "lines", line = list(width = 5)) %>%
add_trace(data = ds %>% filter(group == "C"), x = x, y = y, mode = "lines", line = list(width = 10))
# In a loop (if too many groups)
p <- plot_ly()
vec <- unique(ds$group)
widths <- c(2, 5, 10)
for(i in 1:3){
# Note that evaluate = T is important here
p <- add_trace(p, data = ds %>% filter(group == vec[i]), x = x, y = y, mode = "lines",
line = list(width = widths[i]), evaluate = T)
}
p
Warum der Downvote/Vote zu schließen? –
Ich weiß, dass Sie das für Marker tun können, indem Sie 'marker = list (size = ...) 'setzen, aber ich denke nicht, dass das für Linien möglich ist. Wenigstens nicht wie 'aes' in' ggplot() '. Sie könnten sich damit herumschlagen, indem Sie jede Gruppe als separate Spur hinzufügen, wenn Sie 'plot_ly()' verwenden. – royr2
Danke. Was meinst du damit? –