15

我无法更改 direct.label(来自 directlabels 包)ggplot2 图中的字体大小。请参阅下面的可重现示例 - 将标签旋转 45 度,使其粗体、衬线和 50% 透明(下面代码末尾列表中的所有其他参数)没有问题 - 但我无法控制字体大小。(我真的不希望他们 25 岁,这只是为了测试......)

有什么我遗漏的东西,还是这是一个错误?

library(ggplot2)
library(scales)
library(directlabels)
df <- data.frame(x = rnorm(26), y=rnorm(26), let=letters)
p <- ggplot(df, aes(x, y, color=let)) + geom_point() 
direct.label(p, 
    list("top.points", rot=45, fontsize=25, 
        fontface="bold", fontfamily="serif", alpha=0.5))
4

2 回答 2

15

我想通了,你cex用来改变字体大小。

df <- data.frame(x = rnorm(26), y=rnorm(26), let=letters)
p <- ggplot(df, aes(x, y, color=let)) + geom_point() 
direct.label(p, 
    list("top.points", rot=45, cex=6, 
          fontface="bold", fontfamily="serif", alpha=0.5))

那会给你, jjj

于 2012-05-15T18:51:25.523 回答
4

这是一种不同的路线,但你会考虑在 ggplot2 中做这一切吗?

ggplot(df, aes(x, y, color=let)) + 
       geom_point() + 
       geom_text(df, mapping=aes(x, y, label=let, colour=let), 
       size=5, vjust=-.55, hjust=.55, angle = 45, fontface="bold", 
       family ="serif", alpha=0.5) + opts(legend.position = "none")

这会给你这个,你可以使用调整字体大小size 在此处输入图像描述

于 2012-05-10T01:12:05.117 回答