Подтвердить что ты не робот

Наложение легенды на интерактивный график ggvis

Я хотел бы поместить свою легенду в сюжет, как ответил в этом вопросе, но для интерактивного сюжета.

В первом фрагменте кода легенда исчезает с графика, но когда я удаляю взаимодействие, он работает.

library(ggvis)
library(dplyr)

# With drop down list it doesn't work
mtcars %>% 
  ggvis(x = ~wt, y = input_select(c("Miles per gallon" = "mpg", "Horse power" = "hp", "Displacement"="disp", "Carbohydrates" = "carb"), map = as.name, selected = "mpg", label = "Variables"), fill=~cyl) %>% 
  layer_points() %>% 
  add_relative_scales() %>%
  add_legend("fill", title = "Cylinders",
             properties = legend_props(
               legend = list(
                 x = scaled_value("x_rel", 0.8),
                 y = scaled_value("y_rel", 1)
               )))

введите описание изображения здесь

# Remove interaction and it works
mtcars %>% 
  ggvis(x = ~wt, y = ~mpg, fill = ~cyl) %>% 
  layer_points() %>% 
  add_relative_scales() %>%
  add_legend("fill", title = "Cylinders",
             properties = legend_props(
               legend = list(
                 x = scaled_value("x_rel", 0.8),
                 y = scaled_value("y_rel", 1)
               )))

введите описание изображения здесь

Как я могу наложить легенду на интерактивный сюжет?

4b9b3361

Ответ 1

Кажется, это открытая проблема. Краткое обходное решение, которое я нашел на https://github.com/rstudio/ggvis/issues/347: добавить

%>% set_options(duration=0)

до конца графика:

))) %>% set_options(duration=0)

Он не перерисовывает легенду и поэтому не исчезает.