ggplot2
다음과 같은 작업을 수행하여 막대 플롯의 레이블에 대해 글꼴을 10으로 변경하려고했습니다 .
ggplot(data=file,aes(x=V1,y=V3,fill=V2)) +
geom_bar(stat="identity",position="dodge",colour="white") +
geom_text(aes(label=V2),position=position_dodge(width=0.9),
hjust=1.5,colour="white") +
theme_bw()+theme(element_text(size=10))
ggsave(filename="barplot.pdf",width=4,height=4)
그러나 결과 이미지는 막대 그림 레이블에 대해 매우 큰 글꼴 크기를 갖습니다.
그런 다음 이것을 수정하려고 생각 geom_text()
했습니다.
geom_text(size=10,aes(label=V2),position=position_dodge(width=0.9),
hjust=1.5,colour="white")
라벨 글꼴이 더 커졌습니다 …
크기 geom_text
를 3과 같이 변경할 수 있으며 이제 축 레이블과 유사한 글꼴 10처럼 보입니다.
무슨 일이 일어나고 있는지 궁금 해요? 합니까는 theme(text=element_text(size=10))
라벨에 적용되지 않습니다?
그리고 왜 10 인치의 크기가의 크기와 geom_text()
다른 theme(text=element_text())
가요?
답변
다음은 텍스트 / 라벨 크기를 변경하는 몇 가지 옵션입니다.
library(ggplot2)
# Example data using mtcars
a <- aggregate(mpg ~ vs + am , mtcars, function(i) round(mean(i)))
p <- ggplot(mtcars, aes(factor(vs), y=mpg, fill=factor(am))) +
geom_bar(stat="identity",position="dodge") +
geom_text(data = a, aes(label = mpg),
position = position_dodge(width=0.9), size=20)
size
에서는 geom_text
의 크기 변경 geom_text
레이블.
p <- p + theme(axis.text = element_text(size = 15)) # changes axis labels
p <- p + theme(axis.title = element_text(size = 25)) # change axis titles
p <- p + theme(text = element_text(size = 10)) # this will change all text size
# (except geom_text)
이를 위해 geom_text ()의 10 크기가 theme (text = element_text ())의 크기와 다른 이유는 무엇입니까?
예, 다릅니다. 빠른 수동 확인을했는데 geom_text
크기 대 theme
크기 의 비율이 ~ (14/5) 인 것 같습니다 .
따라서 균일 한 크기에 대한 끔찍한 수정은이 비율로 확장하는 것입니다.
geom.text.size = 7
theme.size = (14/5) * geom.text.size
ggplot(mtcars, aes(factor(vs), y=mpg, fill=factor(am))) +
geom_bar(stat="identity",position="dodge") +
geom_text(data = a, aes(label = mpg),
position = position_dodge(width=0.9), size=geom.text.size) +
theme(axis.text = element_text(size = theme.size, colour="black"))
물론 이것은 이유를 설명 하지 않습니까? 그리고 피타입니다 (이 작업을 수행하는 더 합리적인 방법이 있다고 가정합니다)