R: Cómo cambiar el color de fondo de la trama para un rango específico en la aplicación ggvis shiny
Tengo una aplicación brillante simple como la siguiente y puedes ejecutarla. Las parcelas son creadas por
ggvis
y el usuario puede elegir el nombre del alumno deinputSelect
. En las parcelas, quiero cambiar el color de fondo en un rango de puntuación específico. Por ejemplo,en cada parcela, el color del fondo de la trama para la puntuación superior a 80 o inferior a 50 se resalta en azul (consulte la imagen adjunta). Estaba tratando de agregar capas y dibujar rectángulos en la trama usandolayer_rects()
, pero el problema es que los valores del eje x se cambian si se eligen diferentes estudiantes. ¿Alguien hizo esto antes o alguna idea? ¿Y es posible si solo quiero que aparezcan los puntos en ese rango de puntuación? ¡Muchas gracias! library(shiny)
library(ggvis)
df <- data.frame(Student = c("a","a","a","a","a","b","b","b","b","b","c","c","c","c"),
year = c(seq(2001,2005,1),seq(2010,2014,1),seq(2012,2015,1)),
score = runif(14,min = 50,max = 100), stringsAsFactors=F)
ui = (fluidPage(
sidebarLayout(
sidebarPanel(
selectInput("stu","Choose Student",
choice = unique(df$Student))
),
mainPanel(ggvisOutput("plot"))
)
)
)
server = function(input,output,session){
dataInput = reactive({
gg = df[which(df$Student == input$stu),]
})
vis = reactive({
data = dataInput()
data %>%
ggvis(x = ~year, y = ~score) %>%
scale_numeric("y",domain = c(40,120))%>%
layer_lines()
})
vis %>% bind_shiny("plot")
}
runApp(list(ui = ui, server = server))