ggplot의 제어점 테두리 두께
ggplot을 사용할 때 shape
21-25로 설정하여 내부 ( fill
) 및 테두리 ( col
) 색상에 대해 독립적 인 설정을 갖는 모양을 얻을 수 있습니다 .
df <- data.frame(id=runif(12), x=1:12, y=runif(12))
ggplot(df, aes(x=x, y=y)) +
geom_point(aes(fill=id, size=id), colour="black", shape=21)
그러나 절대적으로 설정하거나 미적 매핑으로 모양 테두리의 두께를 제어하는 방법을 알 수 없습니다. lwd
값을 설정 하면 size
미학을 덮어 씁니다 .
ggplot(df, aes(x=x, y=y)) +
geom_point(aes(fill=id, size=id), colour="black", shape=21, lwd=2)
테두리 두께는 어떻게 제어합니까?
ggplot2 버전 2.0.0부터 제어점 테두리 두께에 대한 인수가 있습니다. 로부터 NEWS.md
파일 :
geom_point ()는 도형 21-25 (# 1133, @SeySayux)의 테두리 너비를 제어하는 획 미학을 얻습니다. 크기와 스트로크는 더하기 때문에 크기가 5이고 스트로크가 5 인 포인트의 지름은 10mm입니다. (# 1142)
따라서 이에 대한 올바른 해결책은 다음과 같습니다.
df <- data.frame(id=runif(12), x=1:12, y=runif(12))
ggplot(df, aes(x=x, y=y)) +
geom_point(aes(fill=id, size=id), colour="black", shape=21, stroke = 2)
약간 엉망인 것처럼 느껴지지만 미적 매핑에 크기가 설정된 " 배경 "점 세트와 점 의 경계 를 확대하기 위한 작은 상수를 추가 할 수 있습니다 . 원하는 테두리 너비를 얻으려면 상수로 재생하십시오.
또한 그래프에 범례를 표시하지 않으려면 크기 범례를 비활성화해야합니다.
ggplot(df, aes(x=x, y=y)) +
geom_point(aes(size=id+0.5), colour="black" , show_guide = FALSE )+
scale_size( guide = "none" )+
geom_point(aes(fill=id, size=id), colour="black", shape=21)
또 다른 해결책은 R에서 플롯을 만든 다음 .svg 파일로 내보내는 것입니다. 그런 다음 벡터 그래픽 편집 소프트웨어 (예 : Inkscape)를 사용하여 선폭을 변경할 수 있습니다. 이 방법은 데이터 포인트가 겹칠 때 특히 유용합니다.
참고 URL : https://stackoverflow.com/questions/19506630/control-point-border-thickness-in-ggplot
'Programing' 카테고리의 다른 글
HTML5 위치 정보는 어떻게 작동합니까? (0) | 2020.11.12 |
---|---|
자바 스크립트의 루프 내에서 콜백을 사용할 때 콜백에서 사용하기 위해 루프에서 업데이트 된 변수를 저장하는 방법이 있습니까? (0) | 2020.11.12 |
Phone gap vs React Native (0) | 2020.11.12 |
북마크릿에서 외부 JS를로드 하시겠습니까? (0) | 2020.11.12 |
XML 스키마 버전 관리를위한 모범 사례는 무엇입니까? (0) | 2020.11.12 |