Здравствуйте, полный незнакомец,
Я думаю, что на самом деле есть ошибка с Rplotly, как предположил vlizana.Если у вас есть только одна строка легенды не работает, как предполагалось.Поэтому, если вы добавите новую строку в этих случаях, она будет работать.И если в строке вместо значений будет NA, вы получите предупреждение, но оно не появится на графике.
Код для достижения этой цели следующий:
data <- data.table(name = c("foo", "bar", "bar", "bar"), value = c(10, 15, 40, 35), probability = c(0.9, 0.4, 0.8, 0.3), id = c("one", "two", "three", "four"))
data1 <- data[name == "bar"]
data2 <- data[name == "foo"]
if(nrow(data2)== 1){
add_data2 <- data2[2L]
add_data2[,1] <- "Delete"
data2 <- rbind(data2, add_data2)
}
p1 <- plot_ly(data1,
x = ~value,
y = ~id,
type = "bar",
orientation = "h",
marker = list(color = ~probability * 100 , colorbar = list(title = "Probability", cmin = 0, cmax = 100, cauto = F))
)
p2 <- plot_ly(data2,
x = ~value,
y = ~id,
type = "bar",
orientation = "h",
marker = list(color = ~probability * 100, colorbar = list(title = "Probability", cmin = 0, cmax = 100, cauto = F))
)
plotly::subplot(p1, p2)