반응형
플롯에 영향을주지 않고 ggplot2 범례 모양 제어
다음과 같이 ggplot2로 선을 플로팅합니다.
ggplot(iris, aes(Petal.Width,Petal.Length,color=Species)) + geom_line() + theme_bw()
.
범례 마크가 작아서 더 커지기를 바랍니다. 크기를 변경하면 플롯의 선도 변경됩니다.
ggplot(iris, aes(Petal.Width,Petal.Length,color=Species)) + geom_line(size=4) + theme_bw()
.
하지만 범례에서 두꺼운 선만보고 싶고, 줄거리의 선은 가늘게하고 싶습니다. 나는 사용하려고했지만 legend.key.size선의 너비가 아닌 마크의 사각형을 변경합니다.
library(grid) # for unit
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species))+geom_line()+theme_bw() + theme(legend.key.size=unit(1,"cm"))

나는 또한 포인트를 사용하려고했습니다.
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species)) + geom_line() + geom_point(size=4) + theme_bw()
하지만 물론 음모와 범례 모두에 영향을 미칩니다.

줄거리에는 선을, 범례에는 점 / 점을 사용하고 싶었습니다.
그래서 저는 두 가지를 묻습니다.
- 플롯을 변경하지 않고 범례에서 선 너비를 변경하는 방법은 무엇입니까?
- 줄거리에 선을 그리는 방법, 범례에 점 / 점 / 사각형을 그리는 방법?
범례에서만 선 너비를 변경하려면 function guides()을 colour=사용 guide_legend()하고 override.aes=와 함께 사용 하고 설정해야 size=합니다. 이렇게하면 플롯에 사용 된 크기가 무시되고 범례에만 새 크기 값이 사용됩니다.
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species))+geom_line()+theme_bw()+
guides(colour = guide_legend(override.aes = list(size=3)))

범례의 점과 플롯의 선을 얻으려면 점이 geom_point(size=0)보이지 않도록 추가 한 다음 선을 제거하고 더 큰 점을 가져 오도록 guides()설정 linetype=0합니다 size=3.
ggplot(iris,aes(Petal.Width,Petal.Length,color=Species))+geom_line()+theme_bw()+
geom_point(size=0)+
guides(colour = guide_legend(override.aes = list(size=3,linetype=0)))

참고 URL : https://stackoverflow.com/questions/16356052/control-ggplot2-legend-look-without-affecting-the-plot
반응형
'Program Club' 카테고리의 다른 글
| CSS 배경 이미지 불투명도? (0) | 2020.11.11 |
|---|---|
| Angular Directive의 링크 기능 내에서 ng-click vs bind 사용 (0) | 2020.11.11 |
| Android : 루팅되지 않은 Android 기기로 HTTP 요청 캡처 (0) | 2020.11.11 |
| 재귀 적으로 정의 된 목록 이해 (zipWith 측면에서 fibs) (0) | 2020.11.10 |
| SQL Server의 고유 키 위반-오류 2627을 가정해도 안전합니까? (0) | 2020.11.10 |