The plot_ly() analogy for ggplot2::scale_color_manual() is to supply a named character vector to colors like this:
library(plotly)
d <- data.frame(
fruit = c("Apple", "Avocado"),
yummyness = c(1, 5),
color = c("red", "green"),
stringsAsFactors = FALSE
)
plot_ly(d,
x = ~fruit,
y = ~yummyness,
color = ~fruit,
colors = ~setNames(color, fruit)
) %>%
add_bars()