나는 다음과 같은 줄거리를 가지고있다. 이 명령으로 작성되었습니다.
library(ggplot2)
df <- data.frame(cond = factor(rep(c("A", "B"), each = 200)),
rating = c(rnorm(200), rnorm(200, mean=.8)))
ggplot(df, aes(x=rating, fill=cond)) +
geom_density(alpha = .3) +
xlab("NEW RATING TITLE") +
ylab("NEW DENSITY TITLE")
다음으로 할 일은 범례 제목 을 cond 에서 NEW LEGEND TITLE 로 수정하는 것 입니다.
그래서 내가 한 것은 위의 코드 끝에 다음 줄을 추가하는 것입니다.
+labs(colour="NEW LEGEND TITLE")
그러나 작동하지 않습니다. 올바른 방법은 무엇입니까?
답변
이것은 작동해야합니다 :
p <- ggplot(df, aes(x=rating, fill=cond)) +
geom_density(alpha=.3) +
xlab("NEW RATING TITLE") +
ylab("NEW DENSITY TITLE")
p <- p + guides(fill=guide_legend(title="New Legend Title"))
(또는 대안으로)
p + scale_fill_discrete(name = "New Legend Title")
답변
나는 이것을 많이 파지 않았지만 ggplot ()에서 fill = cond 를 사용했기 때문에 ,
+ labs(color='NEW LEGEND TITLE')
작동하지 않았을 수 있습니다. 그러나 채우기로 색상 을 바꾸면 작동합니다!
+ labs(fill='NEW LEGEND TITLE')
이것은 ggplot2_2.1.0에서 나를 위해 일했습니다.
답변
밀도가 두 개이므로를 사용하여 자신 만의 색상을 설정하고 싶을 것입니다 scale_fill_manual
.
그렇다면 다음을 수행 할 수 있습니다.
df <- data.frame(x=1:10,group=c(rep("a",5),rep("b",5)))
legend_title <- "OMG My Title"
ggplot(df, aes(x=x, fill=group)) + geom_density(alpha=.3) +
scale_fill_manual(legend_title,values=c("orange","red"))
답변
위 코드 중 어느 것도 나를 위해 일하지 않았습니다.
여기 내가 찾은 것이 있고 효과가있었습니다.
labs(color = "sale year")
\n
끝에 추가하여 제목과 디스플레이 사이에 공백을 둘 수도 있습니다 .
labs(color = 'sale year\n")
답변
코드 ggplot(data, fill= cond)
에서 히스토그램을 만드는 데 사용 했으므로 레이블 섹션에서 “fill”을 사용하여 범례 제목을 추가해야합니다 +labs(fill="Title name")
. 코드가 ggplot (data, colour = cond) 인 다른 유형의 플롯을 사용하는 경우을 사용할 수 있습니다 +labs(colour= "Title Name")
. 요약하면 랩 인수는 aes 인수와 일치해야합니다.
+ guides(fill=guide_legend("my awesome title"))
geom_bar 플롯에서 범례 제목을 변경하는 데 사용 했지만 geom_point에서는 작동하지 않는 것 같습니다.
답변
간단한 그래프에 사용할 수있는 또 다른 매우 간단한 답변이 있습니다.
guide_legend () 호출을 그래프에 추가하십시오.
ggplot(...) + ... + guide_legend(title="my awesome title")
아주 좋은 ggplot 문서에 표시된 것처럼 .
그래도 문제가 해결되지 않으면 가이드 호출을 통해 가이드 매개 변수를보다 정확하게 설정할 수 있습니다 .
ggplot(...) + ... + guides(fill=guide_legend("my awesome title"))
호출 할 guides
때 이러한 매개 변수를 지정하여 모양 / 색상 / 크기를 변경할 수도 있습니다 .
답변
목록에 추가하기 위해 (여기에서 다른 옵션은 작동하지 않음) ggplot에 update_labels 함수를 사용할 수도 있습니다.
p <- ggplot(df, aes(x=rating, fill=cond)) +
geom_density(alpha=.3) +
xlab("NEW RATING TITLE") +
ylab("NEW DENSITY TITLE")
update_labels(p, list(colour="MY NEW LEGEND TITLE")
또한 별도의 줄을 사용하여 x 축 및 y 축 레이블을 변경할 수 있습니다.
update_labels(p, list(x="NEW X LABEL",y="NEW Y LABEL")