2017-11-23 9 views
8

私のスニペットがあり、Highmap R(または)ジャバスクリプト - 追加カスタム伝説ここに

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}") %>% 
    }) 

enter image description here

そして、ここに私のデータ、

enter image description here

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") 

すべては大丈夫ですここでは、しかし、私はここで凡例を有効にすると、それは私に勾配私に与えている私が使用しているカラーカラムとは関係なく、どのように伝説としてchangelabelでカラーカラムを指定するのですか?

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

コードの最初のチャンクは解析されません(右括弧が多すぎます)、 'output $ map'は単に' map'でしょうか?最後に、 'region_map'名も見つかりません。私は言う必要があります:これらのマップの質問は非常に興味深いです! – storaged

+0

はい、単なる出力です。ハイマップで提供されるnz/nz-allマップを使用することができます。更新しました –

答えて

7

多くの試行錯誤の末、私はこれをやり遂げました。ここで私がしたことがあります(将来の読者を助けるためにここに提供します)。

私は、データセット内の

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) 

これは、私が期待したとおり、適切な凡例で動作します。

関連する問題