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
매핑된 변수에 대해 다음을 사용하여 범례의 모양을 숨길 수 있습니다.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')
동일한 플롯이 반환됩니다.
에디트 @조란의 논평은 현장에서, 나는 내 대답을 더 포괄적으로 만들었습니다.
추가하기만 하면 됩니다.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)
또 다른 간단한 옵션은 이 기능을 사용하는 것입니다.guides
범례에서 특정 심미성(채움, 알파, 색상) 또는 다중을 제거할 수 있습니다.다음은 알파 범례만 제거하고 알파와 색상을 모두 제거하는 재현 가능한 예입니다.
df <- data.frame(x=rep(1:10,2), y=c(1:10,11:20),
group=c(rep("a",10),rep("b",10)))
library(ggplot2)
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))
# Remove legend alpha
g + guides(alpha = "none")
# Remove legend alpha and color
g + guides(alpha = "none", color = "none")
reprex v2.0.2를 사용하여 2022-08-21에 생성됨
ggplot2의 이전 버전(0.9.2 이전 버전, 2012년 말 출시)의 경우 다음과 같은 답변이 가능해야 합니다.
나는 이것을 시도했습니다.colour_scale
그리고 그것은 효과가 되지 않았습니다.다음과 같은 것으로 보입니다.colour_scale_hue
항목은 기본 매개 변수가 있는 함수처럼 작동합니다.TRUE
추가했습니다.scale_colour_hue(legend=FALSE)
그리고 그것은 성공하였다.
ggplot의 모든 색상 척도 항목이 해당되는지 확실하지 않습니다.
언급URL : https://stackoverflow.com/questions/11714951/remove-extra-legends-in-ggplot2
'programing' 카테고리의 다른 글
Spring @Scheduler 병렬 실행 (0) | 2023.06.19 |
---|---|
쓰는 법SqlServer 및 Oracle(현재는 시스템) 모두에서 작동하는 Net 애플리케이션입니다.Data.OracleClient는 더 이상 사용되지 않습니다.) (0) | 2023.06.19 |
Node.js를 사용하여 현재 스크립트의 경로를 가져오려면 어떻게 해야 합니까? (0) | 2023.06.19 |
파이썬에서 no-op을 수행하는 표준 방법은 무엇입니까? (0) | 2023.06.19 |
Eclipse 프로젝트에 C/C++ 특성 추가 (0) | 2023.06.19 |