Plotly.r & ggplot2: при нажатии на легенду на графике, созданном с помощью ggplotly, не удается обновить диапазоны и позиции баров после снятия заявок - PullRequest
0 голосов
/ 10 января 2019

(На основе примера «Добавить строки», найденного здесь: https://plot.ly/ggplot2/geom_histogram/. Он также похож на этот Q , который не имеет для меня удовлетворительного ответа, так как мне нужно использовать ggplot функций, , например, возможность использовать масштаб журнала по оси X )

На обычном графике plot_ly при щелчке по некоторому элементу легенды график изменяется, удаляя все случаи, соответствующие этой группе легенд. Следующий пример иллюстрирует это поведение:

library(plotly)

gg_color_hue <- function(n) {
  hues = seq(15, 375, length = n + 1)
  hcl(h = hues, l = 65, c = 100)[1:n]
}

set.seed(0)

df1 <- data.frame(
  cond = factor(rep(c("A", "B"), each=200)),
  rating = c(rnorm(200), rnorm(200, mean=.9))
  )

plot_ly(df1,
  x = ~rating,
  color = ~cond,
  colors = gg_color_hue(2)) %>% 
  add_histogram() %>% 
  layout(barmode = "stack")

На рисунках показан интерактивный сюжет до и после нажатия на группы легенды:

Рисунок 1: Гистограмма, сделанная с использованием plot_ly, в том виде, в котором она изначально изображена.

Рисунок 2: Гистограмма, сделанная с использованием plot_ly, только с вариантами B (после нажатия кнопки A в легенде). Обратите внимание, как обе оси настроены на новый диапазон значений.

Рисунок 3: Гистограмма, сделанная с использованием plot_ly, только с случаями A (был нажат B). Опять же, обе оси настроены на новый диапазон значений.

Однако этого не происходит, когда график создается с помощью ggplot + ggplotly. Вот пример (пожалуйста, не обращайте внимания на изменения в метках и цветах или в форме гистограмм, так как они не являются предметом данного вопроса, и я не думаю, что они актуальны):

p <- ggplot(data = df1) +
  aes(x = rating, fill = cond) +
  geom_histogram(bins = 13)

ggplotly(p)

Рисунок 4: Гистограмма, сделанная с использованием ggplot и ggplotly.

Рисунок 5: Гистограмма, сделанная с использованием ggplot и ggplotly, теперь только с B случаями (нажата кнопка A). Обратите внимание, что на этот раз ось остается неизменной.

Рисунок 6: Гистограмма, сделанная с использованием ggplot и ggplotly, теперь только с делами A (нажата кнопка B). Очевидно, что это самый нелепый сюжет из всех, поскольку столбцы просто остаются на своем первоначальном месте, что совсем не полезно для гистограммы.

Как я уже сказал, это не очень желательное поведение, и я не знаю, могу ли я что-то сделать, чтобы это исправить. Если кто-то знает, что я могу с этим сделать, я буду очень благодарен.

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