gpt4 book ai didi

r - ggplot geom_text字体大小控制

转载 作者:行者123 更新时间:2023-12-03 05:20:38 26 4
gpt4 key购买 nike

我尝试通过执行以下操作将 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)) 不适用于标签吗?

为什么 geom_text() 中的 10 大小与 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)

geom_text 中的size 会更改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"))

这当然不能解释为什么?并且是一个皮塔饼(我认为有更明智的方法来做到这一点)

关于r - ggplot geom_text字体大小控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25061822/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com