Как выделить () линейный участок после фильтра перекрестных помех - PullRequest
0 голосов
/ 29 мая 2019

Я делаю интерактивный сюжет с R, используя highlight() и функции перекрестных помех filter_select().Однако, когда аргумент "color" линий графика совпадает с highlight_key(), становится невозможно выделить любой свет отфильтрованных данных на графике.

Допустим, вы выбрали пример из "Интерактивной визуализации данных через Интернет с помощью R, сюжетно и блестяще" Карсона Сиверта, на Рис. 16.10 главы 16.1 "Графические запросы" Приведенный в книге пример отлично работает, вы можете выделить элемент после фильтрации данных:

library(gapminder)
g <- highlight_key(gapminder, ~country)
continent_filter <- filter_select("filter", "Select a country", g, ~continent)

p <- plot_ly(g) %>%
  group_by(country) %>%
  add_lines(x = ~year, y = ~lifeExp, color = ~continent) %>%
  layout(xaxis = list(title = "")) %>%
  highlight(selected = attrs_selected(showlegend = FALSE))

bscols(continent_filter, p, widths = 12)

enter image description here

Однако, когда "color "аргумент add_lines() соответствует переменной highlight_key() (в данном случае ~country) невозможно фильтровать И выделять отфильтрованные данные

library(gapminder)
g <- highlight_key(gapminder, ~country)
continent_filter <- filter_select("filter", "Select a country", g, ~continent)

p <- plot_ly(g) %>%
  group_by(country) %>%
  # Please mind that in the next line IS NOT "color = ~continent" as in the last example
  add_lines(x = ~year, y = ~lifeExp, color = ~country) %>%
  layout(xaxis = list(title = "")) %>%
  highlight(selected = attrs_selected(showlegend = FALSE))

bscols(continent_filter, p, widths = 12)

enter image description here

Можно ли выделить элементы в интерактивном линейном графике plot_ly (потому что я установил флажок на поле и он работает), когда цветовой аргумент графика plotly совпадает с highlight_key?Я также пытался с geom_line () + ggplotly (), но не будет работать ни

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