Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot2中的geom_text()尺寸定义_R_Ggplot2_Geom Text - Fatal编程技术网

R ggplot2中的geom_text()尺寸定义

R ggplot2中的geom_text()尺寸定义,r,ggplot2,geom-text,R,Ggplot2,Geom Text,我试图改变ggplot中geom_text()层的大小,以便标签总是比给定范围窄。范围是在数据中定义的,但我不知道如何将标签的范围缩小,而不需要大量的尝试和错误 我希望我可以构造一个标签大小函数和nchar(label)(实现字符宽度略有变化),它将返回一个可以与形状宽度进行比较的宽度,并缩小比例,直到不再需要 ggplot标签大小是否定义为像素数、打印高度百分比或类似的值?这是一个有用的起点吗?(如果没有,请随时删除我的帖子)。将范围添加到ranges=rnorm(foo,5,1) 库(ggp

我试图改变ggplot中
geom_text()
层的大小,以便标签总是比给定范围窄。范围是在数据中定义的,但我不知道如何将标签的范围缩小,而不需要大量的尝试和错误

我希望我可以构造一个标签大小函数和
nchar(label)
(实现字符宽度略有变化),它将返回一个可以与形状宽度进行比较的宽度,并缩小比例,直到不再需要


ggplot标签大小是否定义为像素数、打印高度百分比或类似的值?

这是一个有用的起点吗?(如果没有,请随时删除我的帖子)。将范围添加到
ranges=rnorm(foo,5,1)

库(ggplot2)
库(directlabels)
种子(67)

foo而不是
nchar(标签)
您可能需要使用
strwidth(标签)
。当我完成上一个项目时,我才发现它是非常有用的。这是一个非常有用的开始-谢谢!
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))