ggplot2에서 축 문자의 글꼴 크기 및 방향 변경
x축에는 범주형 변수를, y축에는 숫자형 변수를 그래프로 그리고 있습니다.
X 축의 경우 데이터 점이 많을 경우 기본 텍스트 형식을 지정하면 각 눈금 표시의 레이블이 다른 레이블과 겹치게 됩니다.(a) 축 텍스트의 글꼴 크기를 변경하고 (b) 텍스트가 축에 수직이 되도록 텍스트의 방향을 변경하는 방법은 무엇입니까?
사용하다theme():
d <- data.frame(x=gl(10, 1, 10, labels=paste("long text label ", letters[1:10])), y=rnorm(10))
ggplot(d, aes(x=x, y=y)) + geom_point() +
theme(text = element_text(size=20),
axis.text.x = element_text(angle=90, hjust=1))
#vjust adjust the vertical justification of the labels, which is often useful

여기에는 ggplot을 포맷하는 방법에 대한 좋은 정보가 많이 있습니다.다음을 사용하여 수정할 수 있는 매개 변수(기본적으로 모든 매개 변수)의 전체 목록을 볼 수 있습니다.?theme.
Ditto @Drew Steen의 사용에 대한.theme()다음은 축 텍스트 및 제목에 대한 공통 테마 속성입니다.
ggplot(mtcars, aes(x = factor(cyl), y = mpg))+
geom_point()+
theme(axis.text.x = element_text(color = "grey20", size = 20, angle = 90, hjust = .5, vjust = .5, face = "plain"),
axis.text.y = element_text(color = "grey20", size = 12, angle = 0, hjust = 1, vjust = 0, face = "plain"),
axis.title.x = element_text(color = "grey20", size = 12, angle = 0, hjust = .5, vjust = 0, face = "plain"),
axis.title.y = element_text(color = "grey20", size = 12, angle = 90, hjust = .5, vjust = .5, face = "plain"))
이전 솔루션에 추가하여 다음에 대한 상대적인 글꼴 크기를 지정할 수도 있습니다.base_size다음과 같은 테마에 포함됩니다.theme_bw()(어디서base_size11) 사용rel()기능.
예:
ggplot(mtcars, aes(disp, mpg)) +
geom_point() +
theme_bw() +
theme(axis.text.x=element_text(size=rel(0.5), angle=90))
테마 사용():
d <- data.frame(x=gl(10, 1, 10, labels=paste("long text label ", letters[1:10])), y=rnorm(10))
ggplot(d, aes(x=x, y=y)) + geom_point() +
theme(text = element_text(size=20))
여러 그래프를 만들 때는 전역적으로 설정하는 것이 좋습니다(관련 부품이 두 번째 선이며, 세 개의 선이 함께 사용되는 경우).
library('ggplot2')
theme_update(text = element_text(size=20))
ggplot(mpg, aes(displ, hwy, colour = class)) + geom_point()
겹치는 레이블을 처리하는 또 다른 방법은 다음과 같습니다.guide = guide_axis(n.dodge = 2).
library(dplyr)
library(tibble)
library(ggplot2)
dt <- mtcars %>% rownames_to_column("name") %>%
dplyr::filter(cyl == 4)
# Overlapping labels
ggplot(dt, aes(x = name, y = mpg)) + geom_point()
ggplot(dt, aes(x = name, y = mpg)) + geom_point() +
scale_x_discrete(guide = guide_axis(n.dodge = 2))
이러한 경우 "채우기" 특성을 사용하면 도움이 됩니다.다음을 사용하여 축에서 텍스트를 제거할 수 있습니다.element_blank()범례가 있는 다중 색상 막대 차트를 표시합니다.나는 아래와 같이 수리 공장에서 부품 제거 빈도를 계획하고 있습니다.
ggplot(data=df_subset,aes(x=Part,y=Removal_Frequency,fill=Part))+geom_bar(stat="identity")+theme(axis.text.x = element_blank())
제 경우에는 막대 차트에 막대가 많아서 이 솔루션을 선택했는데, 읽기 쉽고 서로 겹치지 않을 정도로 작은 적절한 글꼴 크기를 찾을 수 없었습니다.
언급URL : https://stackoverflow.com/questions/13297995/changing-font-size-and-direction-of-axes-text-in-ggplot2
'programing' 카테고리의 다른 글
| 2012년 R의 data.table merge보다 python에서 팬더 병합이 더 빠른 이유는 무엇입니까? (0) | 2023.06.04 |
|---|---|
| Git의 현재 지점에서 어떻게 최신 태그 이름을 얻을 수 있습니까? (0) | 2023.06.04 |
| Android TextView에서 글꼴 스타일을 굵고 기울임꼴 및 밑줄로 설정하는 방법은 무엇입니까? (0) | 2023.06.04 |
| Python을 사용한 웹 스크래핑 (0) | 2023.06.04 |
| 글로벌 스코프가 아닌 외부(포함) 범위에 있는 파이썬에서 변수를 수정할 수 있습니까? (0) | 2023.06.04 |

