2016-05-03 13 views
1

Ich habe versucht, den Bereich zwischen meinen zwei Zeilen zu schattieren, aber der folgende Code schattiert alles unter der Linie trotz der Versuch, die Serie separat zu schattieren.Shading Gap Between Lines in dygraph

dygraph(newdata, main = "Distribution of Average Teacher Experience By Student URM, 
School-Level Data")%>% 
dyRangeSelector()%>% 
dySeries("URM_exp", fillGraph=FALSE)%>% 
dySeries("NonURM_Exp", fillGraph=TRUE)%>% 
dyLegend(show = "follow")%>% 
dyAxis("y", label = "Average Teacher Experience", valueRange = c(12, 15))%>% 

Ich mag würde einen schattigen Bereich zwischen den beiden Linien haben die Erfahrung Lücke zwischen unterrepräsentierte Minderheiten und nicht unterrepräsentiert Minderheit Studenten zu zeigen.

Vielen Dank.

+0

Sie ein reproduzierbares Beispiel bieten könnte? – MLavoie

Antwort

2

Sie können die Funktion dygraph zum Zeichnen von oberen/unteren Balken verwenden (siehe here).

Sie müssen nur einige "gefälschte" neue Serien hinzufügen, die die untere/obere Grenze Ihrer Daten bilden. In Ihrem Fall kopiert das die beiden Serien und URM_exp. Dann, anstatt beide Serien einzeln zu zeichnen, zeichnen Sie eine dreifache Serie, wie im Link zur obigen Digesterseite erklärt. Auf diese Weise wird ein schattierter Bereich (zwischen den beiden Reihen, da die Grenzen genau diese waren) in der Farbe der dreifachen Reihe gezeichnet.

-Code unten:

library(dygraphs) 

# Some mock data. 
newdata <- data.frame(
    row.names = seq(Sys.Date(), length.out = 10, by = "1 day"), 
    URM_exp = sample(seq(14, 15, 0.01), 10), 
    NonURM_Exp = sample(seq(12, 14, 0.01), 10) 
) 

# Make up some border series. 
newdata$border1 <- newdata$URM_exp 
newdata$border2 <- newdata$NonURM_Exp 

# One single + one triple series do the trick. 
dygraph(newdata, main = "Distribution of Average Teacher Experience By Student URM, School-Level Data")%>% 
    dyRangeSelector() %>% 
    dySeries("NonURM_Exp") %>% 
    dySeries(c("border2", "URM_exp" , "border1")) %>% 
    dyLegend(show = "follow") %>% 
    dyAxis("y", label = "Average Teacher Experience", valueRange = c(12, 15))