Buenas tardes. Intento hacer 6 mapas en un loop, de acuerdo, cada uno de ellos, a una de 6 variables recogidas en el vector GT: GT<-c("IIFd5026","IIFd5045","IIFd5085","IIFd7026","IIFd7045","IIFd7085") for(i in GT) { NCDS <- NCDS[NCDS[[i]] > 0,] windows();print(ggplot(legend=FALSE)+geom_path( data=world, aes(x=long, y=lat,group=group))+ theme(panel.background=element_blank())+theme(panel.grid.major element_blank())+ theme(panel.grid.minor element_blank())+theme(axis.text.x=element_blank(),axis.text.y=element_blank())+ theme(axis.ticks = element_blank())+xlab("") + ylab("")+ geom_point(data=NCDS,aes(x=lon,y=lat,*color = (GT[i]))*,size=2) + scale_colour_gradient(low=("white"),high=("red"),guide="colourbar",limits=c(0,max))+ geom_path(data=map_data('world'), aes(x=long, y=lat,group=group))+ labs(title = paste(GT[i],"Minimum number of IFd species to go extinct"))) } Si en vez de color = (GT[i]) pongo color = IIFd5026 (primer elemento del vector GT) sale bien, pero, de la primera forma me da error: Error: Discrete value supplied to continuous scale He probado con color = GT[i], color = i y otras formas, por si acaso, pero no funciona. Muchas gracias, como siempre, Manuel [[alternative HTML version deleted]]