ggplot2에서 추가 범례 제거
를 사용하여 결합 된 선과 점 플롯을 수행하려는 간단한 데이터 프레임이 ggplot2
있습니다. 내 데이터가 다음과 같다고 가정합니다.
df <- data.frame(x=rep(1:10,2), y=c(1:10,11:20),
group=c(rep("a",10),rep("b",10)))
그리고 나는 줄거리를 만들려고 노력하고 있습니다.
g <- ggplot(df, aes(x=x, y=y, group=group))
g <- g + geom_line(aes(colour=group))
g <- g + geom_point(aes(colour=group, alpha = .8))
g
결과는 한 가지 예외를 제외하면 괜찮아 보입니다. alpha
내 geom_point
레이어에 대한 추가 범례가 있습니다.
범례에 그룹 색상을 표시하지만 알파 설정을 표시하지 않는 방법은 무엇입니까?
통화 내에서 미학을 설정 하거나 매핑 할 수 있습니다 ggplot
.
- 내부
aes(...)
에 정의 된 미학 은 데이터에서 매핑 되고 범례가 생성됩니다. - 미학은 외부에서 정의하여 단일 값 으로 설정할 수도 있습니다
aes()
.
이 경우 설정 alpha = 0.8
하고 매핑 하려는 것으로 나타납니다 colour = group
.
이것을하기 위해,
장소 alpha = 0.8
밖에서에게 aes()
정의를.
g <- ggplot(df, aes(x = x, y = y, group = group))
g <- g + geom_line(aes(colour = group))
g <- g + geom_point(aes(colour = group), alpha = 0.8)
g
어떤을 위해 매핑 된 변수는 사용하여 전설의 모양을 supress 수있는 guide = 'none'
적절한에 scale_...
전화를 겁니다. 예.
g2 <- ggplot(df, aes(x = x, y = y, group = group)) +
geom_line(aes(colour = group)) +
geom_point(aes(colour = group, alpha = 0.8))
g2 + scale_alpha(guide = 'none')
동일한 플롯을 반환합니다.
@Joran의 의견을 수정하십시오. 내 대답을보다 포괄적으로 만들었습니다.
show.legend = F
원하지 않는 부분 뒤에 코드를 추가하면 됩니다.
g <- ggplot(df, aes(x=x, y=y, group=group))
g <- g + geom_line(aes(colour=group))
g <- g + geom_point(aes(colour=group, alpha = .8), show.legend = F)
이전 버전의 ggplot2 (0.9.2 이전 버전, 2012 년 후반에 출시됨)의 경우이 답변이 작동합니다.
나는 이것을 a로 시도했지만 colour_scale
작동하지 않았습니다. 나타납니다 colour_scale_hue
항목이 기본 매개 변수와 함수처럼 작동합니다 TRUE
. 나는 추가 scale_colour_hue(legend=FALSE)
했고 작동했습니다.
이것이 ggplot의 모든 색상 스케일 항목에 해당하는지 확실하지 않습니다.
참고 URL : https://stackoverflow.com/questions/11714951/remove-extra-legends-in-ggplot2
'Programing' 카테고리의 다른 글
Postgres의 기존 열에 '직렬'추가 (0) | 2020.10.14 |
---|---|
mongoid에서 null이 아니거나 비어 있지 않은 곳을 선택하십시오. (0) | 2020.10.14 |
Sequelize.js에서 생성 된 SQL을 어떻게 볼 수 있습니까? (0) | 2020.10.14 |
레이블 너비에 따른 UICollectionView의 동적 셀 너비 (0) | 2020.10.14 |
F # 명시 적 일치 대 함수 구문 (0) | 2020.10.14 |