ggplot의 ggsurv 기능에 문제가 있습니다.ggsurv 범례 및 라인 두께
범례 및 선 스타일로 모양의 순서를 제어하고 싶습니다.
나는 다른 사람이 비슷한 문제를 가지고 있지만, 내가 대체 전설의 표준 값을 예상했을 것이다 여기library(GGally)
library(survival)
data(lung)
surv1 <- survfit(Surv(time,status) ~ sex, data = lung)
p1 <- ggsurv(surv1, lty.est=c(1,2), surv.col=c("black", "red"))
p1 <- p1 + scale_colour_discrete(name = 'sex', breaks = c(1,2), labels=c('XX','XY'))
p1
로 내 문제가 표준 폐 데이터를 사용하여 솔루션
을 이해 해달라고 볼 수 있습니다
XX와 XY로. 하지만 중복 된 전설이 생깁니다. 하나는 올바른 선 속성이지만 잘못된 이름과 색상이 있습니다. 올바른 이름과 색상을 사용하지만 잘못된 라인 속성이있는 것도 있습니다. 나는 무엇을 이해하지 못하는
나는
p1 <- p1 + guides(colour = FALSE)
를 삽입하려고 노력하지만 전설
의 잘못된 부분을 제거? 오징어의 의견에
감사 솔루션은 다음과 같습니다
library(GGally)
library(survival)
data(lung)
surv1 <- survfit(Surv(time,status) ~ sex, data = lung)
p1 <- ggsurv(surv1, lty.est=c(1,2), surv.col=c("black", "red"))
p1 <- p1 + scale_colour_discrete(name = 'sex', breaks = c(1,2), labels=c('XX','XY'))
p1 <- p1 + guides(linetype = F, colour = guide_legend(override.aes = list(linetype = c(2,1))))
p1
나는 override.aes 수동으로 전설에 사용 된 선 유형을 설정하는 것이 이해할 수있다. linetype = F가 실제로하는 일을 충분히 확신 할 수는 없지만 작동합니다!
두 번째 질문입니다. 수동으로 라인의 두께를 설정하는 방법 (두 그래프와 범례에)
는
p1 <- p1 + geom_line(size=2)
이 작동하지 않습니다 추가. 그것은 orignal 것들과 완전히 정렬되지 않은 못생긴 검은 선을 그립니다.
감사합니다. 내 첫 번째 문제를 해결했습니다. 위에 추가했습니다. 라인 두께를 바꾸는 새로운 문제 제기 –
라인은'geom_line'이 아니라'geom_step'을 사용하여 그려집니다. 그러므로'geom_step (size = 2)'는 색상을 제어하지 못할 수도 있지만 원하는 것을 할 것입니다. [이 답변] (http://stackoverflow.com/questions/39907004/how-to-put-different-symbols-in-autoplot/39908638#39908638)이 그래프를 작성하는 경우 ggplot2 코드의 모양을 보여줍니다. 모델에서'ggfortify :: fortify'를 사용한 후 "hand"를 사용하십시오. – aosmith
aosmith geom_step이 올바른 것입니다. 지금 나는 정확한 라인을 가지고있다. 그러나 그들은 검은 색이고 surv.col 검은 색과 빨간색으로 지정되지 않았습니다. 나는 전에 그것을 알아 차리지 못했지만 위의 해결책은 실제로 빨강 색과 초록색과 빨간색과 검은 색이 아니 었습니다. 이상하게도 (적어도 나를 위해) geom_step 라인이 삽입 된 전설 colrs 라인은 두꺼운 흑인이지만 빨간색 녹색 계속 –