Highmap R (или) javascript — добавление пользовательской легенды

Вот мой фрагмент,

output$map <- renderHighchart({
region_map = hcmap("countries/nz/nz-all")
      highchart(type = "map") %>% 
      hc_title(text = "Average") %>% 
      hc_add_series_map(map = region_map, df = data1, joinBy = "name", value = "LTA", borderColor = "#141B4D",
                        color = "color", 
                        showInLegend = TRUE, 
                        borderWidth = 1)
                        )  %>%
      hc_tooltip(useHTML = TRUE, headerFormat ="", pointFormat = "{point.name} <br> LTA: {point.value}") %>%
  })

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

И мои данные здесь,

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

structure(list(name = c("Auckland", "Bay of Plenty", "Canterbury", 
"Central North Island", "Central Otago / Lakes District", "Coromandel"
), LTA = c(23, 42, 25, 69, 71, 145), Changelabel = c("<20% Decrease", 
">20% Decrease", "<20% Decrease", ">20% Decrease", ">20% Decrease", 
">20% Decrease"), color = c("#B7DEE8", "#00B0F0", "#B7DEE8", 
"#00B0F0", "#00B0F0", "#00B0F0")), .Names = c("name", "LTA", 
"Changelabel", "color"), row.names = c(NA, 6L), class = "data.frame")

Здесь все в порядке, но когда я включаю здесь легенду, она дает мне градиент независимо от столбца цвета, который я использую, как мне указать столбец цвета с меткой изменения в качестве легенды, например

<20% Decrease - color (#B7DEE8)
>20% Decrease - color (#00B0F0)

person ds_user    schedule 23.11.2017    source источник
comment
Первый кусок кода не анализируется (слишком много правых скобок), output$map может быть просто map, верно? Наконец, имя region_map также не найдено. Я должен сказать: эти вопросы о картах довольно интересны!   -  person storaged    schedule 23.11.2017
comment
Да это просто вывод. И вы можете использовать карту nz/nz-all, предоставленную highmap. обновлен   -  person ds_user    schedule 23.11.2017


Ответы (1)


В порядке. После стольких проб и ошибок мне удалось это сделать. Вот как я это сделал (привожу здесь, чтобы помочь будущим читателям).

Я добавил столбец с именем value в свой набор данных

data1 <- data1 %>% mutate(value = ifelse(Changelabel == ">20% Decrease",1,
                          ifelse(Changelabel == "<20% Decrease",2,
                          ifelse(Changelabel == "<20% Increase",3,
                          ifelse(Changelabel == ">20% Increase",4, 5)))))

А затем я создал класс данных для цветовой оси:

dclass <- data_frame(from = seq(1, 4, by = 1),
                     name = c(">20% Decrease","<20% Decrease","<20% Increase",">20% Increase"),
                     color = c("#00B0F0","#B7DEE8","#92D050","#00B050"))
dclass <- list_parse(dclass)

Затем в моем коде создания диаграмм я добавил эту строку:

hc_colorAxis(dataClasses = dclass)

Теперь он работает с правильной легендой, как я и ожидал.

person ds_user    schedule 26.11.2017