Plotly position_dodge () эквивалент - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть довольно сложный сюжет в стиле Ганта в 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
  )

Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...