Hola, ¿Por qué no incluyes directamente la línea vertical en cada iteración?.
world<-map_data('world') pyt<- ggplot(data, aes(x = longitud, y = latitud, color = ptyrup,size=ptyrup)) + geom_point()+ *geom_vline(xintercept = i)* scale_color_manual(values = c('lightslateblue','black')) + scale_size_manual(values=c(1,2))+ theme(legend.position="top") windows();pyt Si luego vuelves a llamar a "pyt" efectivamente vuelve a reproducir todo el mapa. Gracias, Carlos Ortega www.qualityexcellence.es El sáb., 6 jun. 2020 a las 20:41, Manuel Mendoza (< mmend...@fulbrightmail.org>) escribió: > Gracias Emilio, no sé cómo ponerte un ejemplo reproducible. El mapa es un > ggplot como el que te pongo abajo, y el análisis que se hace en cada vuelta > del loop (que tienes abajo, del anterior email) es un árbol de > clasificación que se entrena con una parte del mapa, dada por la longitud > (lon), y se testa con la otra. Los resultados se almacenan en Preds. Como > puedes ver, la i del loop/for determina lon, una de las variables de la > base de datos del mapa, y a cada iteración del loop (valor de lon) me > indica por qué valor va (print(i)). En vez de eso, o además de, me gustaría > que me representase un linea sobre el mapa que se hizo previamente con > ggplot, que se corresponda con el valor de lon. > Este es el mapa (sigo abajo): > > world<-map_data('world') > pyt<- ggplot(data, aes(x = longitud, y = latitud, color = > ptyrup,size=ptyrup)) + > geom_point()+ > scale_color_manual(values = c('lightslateblue','black')) + > scale_size_manual(values=c(1,2))+ > theme(legend.position="top") > windows();pyt > > Si en el loop incluyo esto: > pyt<-pyt+geom_vline(xintercept = i) > print(pyt) > > a cada iteración me representa en el mapa la línea que yo quiero, pero lo > hace representando el mapa de nuevo cada vez. La idea es que me añada la > línea, cada vez, pero sin tener que representar el mapa, es decir, sobre el > que ya estaba. Es por el efecto visual. Parece una tontería, pero frente a > una audiencia esos detalles importan (hasta cierto punto). > > Gracias, > Manuel > > > > > > > > > > > > > El sáb., 6 jun. 2020 a las 12:01, Emilio L. Cano (<emilopezc...@gmail.com > >) > escribió: > > > Hola, > > > > Como ggplot son gráficos tipo “grid” seguramente puedas añadir las líneas > > como un objeto “grob” sin tener que recargar el mapa. > > > > Con un ejemplo reproducible lo podría confirmar. > > > > Un saludo, > > > > Emilio L. Cano > > http://emilio.lcano.com > > > > > > > > El 5 jun 2020, a las 17:48, Manuel Mendoza <mmend...@fulbrightmail.org> > > escribió: > > > > Gracias Emilio y Jorge. Tengo que explicarlo mejor. Mostrando a una > > audiencia cómo hacer un tipo de análisis, se hace un loop (abajo) que > > analiza un mapa por regiones longitudinales. Tal y como está el script, > > print(i) te indica la longitud por la que va (de 10º en 10º) pero me > > gustaría que en vez de eso te fuese representando una línea vertical > sobre > > el mapa, que he representado previamente con ggplot. No es > imprescindible, > > pero quedaría bien. > > > > Preds <- data.frame() > > > > for (i in seq(from = -180, to = 170, by = 10)){ > > traindata <- subset(data, lon < i|lon>= i+10) > > testdata <- subset(data,(lon> i & lon<= i+10)) > > > > fitrp <- rpart(Clst ~ .- lon - lat, data=traindata,method = "class") > > print(i) > > > > prd <- predict(fitrp, testdata, type="class") # se aplica el modelo a > > las muestras test > > testdata$prd<-prd > > Preds<-rbind(Preds,testdata) > > } > > > > El vie., 5 jun. 2020 a las 16:18, Emilio L. Cano (< > emilopezc...@gmail.com>) > > escribió: > > > >> Hola Manuel, > >> Al ser ggplot supongo que será como en cualquier gráfico en ejes > >> coordenados, añade una capa: > >> > >> ggplot(…..) + geom_vline(xintercept = vector_de_valores_x) > >> > >> Un saludo, > >> > >> Emilio L. Cano > >> http://emilio.lcano.com > >> > >> > >> > >> > El 5 jun 2020, a las 13:48, Manuel Mendoza < > mmend...@fulbrightmail.org> > >> escribió: > >> > > >> > Buenos días ¿sabéis si hay alguna forma de añadir una recta vertical > >> sobre > >> > un mapa hecho previamente con ggplot? Lo que hago ahora es cargar > >> > nuevamente el mapa con la línea añadida (una serie de líneas añadidas > >> > secuencialmente en un loop) pero me gustaría que añadiese las líneas > sin > >> > cargar nuevamente el mapa. > >> > Gracias, > >> > Manuel > >> > > >> > [[alternative HTML version deleted]] > >> > > >> > _______________________________________________ > >> > R-help-es mailing list > >> > R-help-es@r-project.org > >> > https://stat.ethz.ch/mailman/listinfo/r-help-es > >> > >> > > > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > -- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es