Я создаю интерактивный барплот на Plotly (который показывает количество жителей - "НАСЕЛЕНИЕ" - обеспокоенных различными уровнями загрязнения - "ЗАГРЯЗНЕНИЕ") .
Вот извлечение моих данных:
CITY TYPE_POLLUANT POLLUTION POPULATION
<chr> <chr> <dbl> <dbl>
1 Abriès (05) O3 117 2
2 Abriès (05) O3 118 225
3 Abriès (05) O3 119 79
4 Abriès (05) NO2 0 303
5 Abriès (05) NO2 1 2
6 Abriès (05) NO2 2 1
10 Aiglun (04) O3 126 256
11 Aiglun (04) O3 127 1128
12 Aiglun (04) NO2 2 18
13 Aiglun (04) NO2 3 150
14 Aiglun (04) NO2 4 470
15 Aiglun (04) NO2 5 601
Я хочу, чтобы барплот менялся в зависимости от выбранного города или выбранного загрязнителя.
Для этого я использую опцию updatemenus.
Мне удалось добавить кнопки для выбора загрязнителя (NO2, O3, PM2.5 или PM10), я получил что-то вроде этого:
Я также достиг создать выпадающий список, чтобы выбрать город, я получаю это:
Но я хочу и то, и другое, но я не достигаю этого.
I создал первый график (для выбора загрязняющих веществ) с этим кодом:
fig <- plot_ly(type = "bar", name='')
fig <- fig %>%
add_bars(data = df %>% filter(NOM_COMMUNE==input_commune, TYPE_POLLUANT=="NO2"),
x = ~POLLUTION, y = ~POPULATION,
name = "NO2", marker=list(color=col_no2)) %>%
add_bars(data = df %>% filter(NOM_COMMUNE==input_commune, TYPE_POLLUANT=="O3"),
x = ~POLLUTION, y = ~POPULATION,
name = "O3", marker=list(color=col_o3), visible = FALSE) #%>%
#same for 2 other pollutants
fig <- fig %>%
layout(updatemenus = list(
list(
active = -1,
type= 'buttons', direction = "right",
y = 0.92, x=0.95,
buttons = list(
list(method = "update",
args = list(list(visible = c(FALSE, TRUE, FALSE, FALSE, FALSE))),
label = "NO2"),
list(method = "update",
args = list(list(visible = c(FALSE, FALSE, TRUE, FALSE, FALSE))),
label = "O3")
#same for 2 other pollutants
))))
Для второго, чтобы выбрать город, я использовал что-то вроде этого: R графически список данных с кадром updatemenu (создание списка городов с каждым списком «видимых» параметров (ИСТИНА / ЛОЖЬ)) * 10 29 *
Но смешивание обоих решений кажется очень сложным.
Я представлял себе список списка «видимых» параметров (TRUE / FALSE). Но нужно создать список из 2 кнопок в меню обновлений, так как я должен установить параметры расположения кнопок на графике. Таким образом, кажется сложным смешать «видимые» варианты загрязнителей и городов.
Есть ли у вас представление о правильном пути?