(На основе примера «Добавить строки», найденного здесь: 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). Очевидно, что это самый нелепый сюжет из всех, поскольку столбцы просто остаются на своем первоначальном месте, что совсем не полезно для гистограммы.
Как я уже сказал, это не очень желательное поведение, и я не знаю, могу ли я что-то сделать, чтобы это исправить. Если кто-то знает, что я могу с этим сделать, я буду очень благодарен.