ggplot2中的geom_text()大小定义

时间:2014-03-27 17:38:09

标签: r ggplot2 geom-text

我试图改变ggplot中geom_text()图层的大小,以便标签总是比给定范围窄。范围是在数据中定义的,但我不知道的是如何将标签缩放到比这更窄的范围,没有大量的反复试验。

我希望我可以构建一个标签大小函数和nchar(label)(实现字符宽度变化一点),它将返回一个我可以与形状宽度相比较的宽度,并缩小直到不再必要的。

ggplot标签大小是否定义为像素数,绘图高度的百分比或类似的其他内容?

1 个答案:

答案 0 :(得分: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