Program Club

플롯에 영향을주지 않고 ggplot2 범례 모양 제어

proclub 2020. 11. 11. 20:50
반응형

플롯에 영향을주지 않고 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()

하지만 물론 음모와 범례 모두에 영향을 미칩니다.

포인트들

줄거리에는 선을, 범례에는 점 / 점을 사용하고 싶었습니다.

그래서 저는 두 가지를 묻습니다.

  1. 플롯을 변경하지 않고 범례에서 선 너비를 변경하는 방법은 무엇입니까?
  2. 줄거리에 선을 그리는 방법, 범례에 점 / 점 / 사각형을 그리는 방법?

범례에서만 선 너비를 변경하려면 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

반응형