1
라인 그룹을 플롯하고 범례에서이 라인에 하나의 라벨을 지정하려고합니다. 다음은 현재 사용중인 데이터 (df2)의 예입니다.ggplot의 라인 그룹에 대한 범례
structure(list(
true = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L),
.Label = c("model1", "model2"), class = "factor"),
test = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L),
.Label = c("false.model1", "false.model2", "false.model3", "true model"), class = "factor"),
est.interval = c(0, 5, 5, 7, 7, 10, 10, 11, 11, 0, 2, 2, 3, 3, 0, 2, 2, 4, 4, 0, 2, 2, 3, 3, 4, 4, 0, 7, 7, 10, 10, 13, 13, 0, 4, 4, 5, 5, 0, 5, 5, 6, 6, 7, 7, 9, 9, 0, 2, 2, 3, 3, 4, 4),
sens = c(1, 1, 0.75, 0.75, 0.5, 0.5, 0.25, 0.25, 0, 1, 1, 0.25, 0.25, 0, 1, 1, 0.5, 0.5, 0, 1, 1, 0.5, 0.5, 0.25, 0.25, 0, 1, 1, 0.75, 0.75, 0.25, 0.25, 0, 1, 1, 0.5, 0.5, 0, 1, 1, 0.75, 0.75, 0.5, 0.5, 0.25, 0.25, 0, 1, 1, 0.5, 0.5, 0.25, 0.25, 0)),
.Names = c("true", "test", "est.interval", "sens"),
class = "data.frame")
그리고 여기서 ggplot을 사용하여 곡선을 그립니다.
ggplot(df2, aes(x=est.interval, y=sens, color=test)) +
ylim(0,1) +
geom_line(size = 0.6) +
facet_wrap(~true, nrow=1) +
scale_colour_manual(values=c(rep('#CCCCCC', 3), "#000000"), name="Estimation Model") +
guides(color=guide_legend(keywidth = 3, keyheight = 1))
나는 음모에 개별적으로 보이는 세 회색 "false.model"곡선을 가지고 싶지만 범례에 내가 한 회색 라인 옆에 하나 "거짓 모델"항목을 원한다. 이 작업을 수행하는 방법에 대한 의견이 있으십니까?
당신의 예를 들어이 만드는 얻기 위해 할 수있는 복사/붙여 넣기를 통해 R로 가져 오기가 매우 어렵습니다. 샘플 데이터의'dput()'을 포함하는 것이 더 낫다. 더 좋은 점은 우리에게'df2'를 주면 그것이 여러분이 원하는 것입니다. 어떻게 그 데이터를 만드는지는 무의미합니다. 표시되는대로 플롯을 생성하는 코드가 없어도 제안을 제공하는 것은 어렵습니다. – MrFlick
감사합니다. 제안 된 수정 사항을 코드에 제공했습니다. – user2220537
이것은 훨씬 더 도움이됩니다. 감사. – MrFlick