ggplot2中geom_text()的尺寸定义

3
我正在尝试改变ggplot中geom_text()图层的大小,使标签始终比给定范围窄。 范围在数据中定义,但我不知道如何将标签缩放为比那更窄,而不需要大量试错。 我希望构建一个标签大小和nchar(label)(实现字符宽度略有变化)的函数,返回一个宽度,我可以将其与形状宽度进行比较,并缩小直到不再必要。 ggplot标签大小是以像素数、图高的百分比或其他类似方式定义的吗?

3
与其使用 nchar(label),你可能想要使用 strwidth(label)。我在完成上一个项目后才发现 strwidth(),如果早些知道它就非常有用了。 - Gregor Thomas
那是一个非常有帮助的开始 - 谢谢! - MDe
1个回答

0

这个地方是否是一个好的起点?(如果不是,请随意删除我的帖子)。您可以将您的范围添加到ranges = rnorm(foo, 5, 1)中。

library(ggplot2)
library(directlabels)

set.seed(67)
foo <- 8
df <- data.frame(x = rnorm(foo, 1, .5), y=rnorm(foo, 1, .5), ranges = rnorm(foo, 5, 1), let=letters[1:foo])

p <- ggplot(df, aes(x, y, color=let)) + geom_point()  + scale_colour_brewer(palette=5)
direct.label(p, 
    list("top.points", rot=0, cex=df[,3], 
          fontface="bold", fontfamily="serif", alpha=0.8))          

s


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接