Как отобразить более 10 различных типов линий в ggplot2 - PullRequest
0 голосов
/ 14 ноября 2018

Мне нужно отобразить 11 различных типов линий, пытаясь использовать scale_linetype_manual, чтобы указать это, но не в состоянии это сделать.

dat <- data.frame(Subject = c(1,1,1,2,2,2,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,10,10,10,11,11,11),
Time = c("C1D1","C1D8","C2D1","C1D1","C1D8","C2D1","C1D1","C1D8","C1D1","C1D8","C2D1","    C1D1","C1D8","C2D1","C1D1","C1D8","C2D1","C1D1","C1D8","C2D1","C1D1","C1D8","C2D    1","C1D1","C1D1","C1D8","C2D1","C1D1","C1D8","C2D1"),
Response = c("Responder","Responder","Responder","Progressive","Progressive","Progressive",    "Non-evaluable","Non-evaluable","Non-evaluable","Non-evaluable","Non-    evaluable","Stable","Stable","Stable","Progressive","Progressive","Progressive",    "Progressive","Progressive","Progressive","Non-evaluable","Non-    evaluable","Non-evaluable","Non-evaluable","Stable","Stable","Stable","Non-    evaluable","Non-evaluable","Non-evaluable"),
Eotaxin = c(401.5,463,363.5,332.5,319,212,527.5,421.5,369.5,535,221.5,936.5,1021.5,550.5,4    58.5,386,340,172.5,212.5,160.5,267,301,300.5,300.5,1160,1018,994.5,197,392.5,220    .5)
)

dat$Subject <- as.character(dat$Subject)

nms <- names(dat)

for(biomark in 4:4){

#png(filename = paste("../../../Roswell/plot/",nms[biomark],".png",sep =     ""),width = 1500,height = 1000,res = 200)


p <- ggplot() + 
            geom_line(data = dat, aes(x = dat$Time, y = dat[,biomark],group = dat$Subject, linetype = Subject, colour = Response)) + 
            labs(title = nms[biomark]) + 
            scale_linetype_manual(breaks = c("1","2","3","4","5","6","7","8","9","10","11"),
    values = c("dotted", "solid", "dashed", "F1", "solid", "solid", "solid", "solid", "solid", "solid", "solid")) +
            xlab("Time") + 
            ylab(nms[biomark]) + 
            theme_minimal() + 
            theme(plot.title = element_text(size = 12,face="bold",hjust = 0.5),
                            axis.title = element_text(size= 12, face = "bold"),
                            legend.text = element_text(size = 7),
                            legend.title = element_text(size = 7,face = "bold"),
                            legend.key.size = unit(0.5, "cm")) 


plot(p)


#dev.off()

}

График показывает, что, почему легенды о типе линий не совпадают с тем, что указано в scale_linetype_manual, особенно для первых 4 типов, третий и четвертый типы остаются сплошными, когда я указал «пунктир» и «F1»? приведенный сюжет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...