У меня есть довольно сложный сюжет в стиле Ганта в Plotly, который я не могу понять совершенно правильно. Особой проблемой является возможность показать несколько сегментов для одной записи оси Y, и они будут отображаться рядом.
Я могу получить результат в ggplot, но я не хочу использовать ggplotly()
, учитывая существующие работать с графикой и сложностями с добавлением пользовательских наложений фигур.
Пример набора данных
data <- data.frame(
cat = c("a","a","b","b"),
grp = c("i","j","i","j") %>% as.factor(),
x1 = c(1,0,0,0),
x2 = c(4,3,3,3),
)
ggplot2 результат базовой c версии того, что мне нужно -
ggplot(data,aes(x = cat, group = grp, color = grp)) +
geom_linerange(aes(ymin = x1, ymax = x2), size = 3, position = position_dodge(.1)) +
coord_flip()
https://i.stack.imgur.com/kW14X.png
В процессе, я не могу понять синтаксис, чтобы заставить уклонение работать. Я пытался манипулировать осью Y с помощью числового c факторного уровня, но не очень доволен результатом.
plot_ly(data = data) %>%
add_segments(
x = ~x1,
xend = ~x2,
y = ~cat ,
yend = ~cat,
color = ~grp
)
Любая помощь приветствуется.