2017-05-25 5 views
0

Ich bin ziemlich neu zu visualisieren Karten auf R und ich versuche, die Legenden in einer Bewegung choropleth zu ändern.
Mein Code ist wie unterÄndern der Farbe Achse in Highchart Choropleth

ds <- a21 %>% 
    group_by(fips) %>% 
    do(item = list(
    fips = first(.$fips), 
    sequence = .$freq, 
    value = first(.$freq))) %>% 
    .$item 

hc <- highchart(type = "map") %>% 
    hc_add_series(data = ds, 
       name = "complaints", 
       mapData = uscountygeojson, 
       joinBy = "fips", 
       borderWidth = 0.01) %>% 
    hc_colorAxis(stops = color_stops()) %>% 
    hc_title(text = "patient complaints") %>% 
    hc_legend(layout = "vertical", reversed = TRUE, 
      floating = TRUE, align = "right") %>% 
    hc_add_theme(hc_theme_smpl()) %>% 
    hc_motion(
    enabled = TRUE, 
    axisLabel = "year", 
    labels = sort(unique(a21$year)), 
    series = 0, 
    updateIterval = 50, 
    magnet = list(
     round = "floor", 
     step = 0.1 
    ) 
) 

Screenshot des bestehenden Ergebnis:

enter image description here

Ab jetzt sehe ich, R

colorbins von Frequenzen

schafft Ich möchte dies automatisch ändern eine Reihe von benutzerdefinierten Werten in meinem Datenrahmen.

Ein Ausschnitt meiner Datenrahmen ist, wie unter

a21: 

     year fips freq   q 
1  2004 1001  3 1st Quantile 
2  2005 1001  0 1st Quantile 
3  2006 1001  4 1st Quantile 
4  2007 1001  0 1st Quantile 
5  2008 1001  0 1st Quantile 
6  2009 1001  0 1st Quantile 

ich die Spalte q wollen als Farbachse Etiketten

Antwort

0

Ich glaube, Sie brauchen Spalte q mit einer Farbe zu assoziieren (vielleicht als eine andere Spalte in der Datenframe) und dann diese Farben in Verbindung mit der color_stops-Funktion verwenden.

Zum Beispiel:

library(dplyr) 
library(highcharter) 
mapdata <- get_data_from_map(download_map_data("countries/us/us-all")) 

set.seed(1234) 

data_fake <- mapdata %>% 
    select(code = `hc-a2`) %>% 
    mutate(value = 1e5 * abs(rt(nrow(.), df = 10))) 

colors <- c("red", "blue", "green" , "yellow") 

hcmap("countries/us/us-all", data = data_fake, value = "value", 
     joinBy = c("hc-a2", "code"), name = "Fake data", 
     dataLabels = list(enabled = TRUE, format = '{point.name}'), 
     borderColor = "#FAFAFA", borderWidth = 0.1, 
     tooltip = list(valueDecimals = 2, valuePrefix = "$", valueSuffix = 
     "USD"))%>% 
    hc_colorAxis(minColor = "blue", maxColor = "red", 
    stops = color_stops(n=length(colors), colors = colors)) 
Verwandte Themen