Как изменить fontsize в direct.label?

Я не могу изменить fontsize в файле direct.label(из пакета directlabels) ggplot2. Ниже приведен пример воспроизводимого примера - нет никаких проблем при повороте меток на 45 градусов, что делает их полужирным, засечным и 50% прозрачным (все остальные аргументы в списке в конце кода ниже), но я не могу контролировать fontsize. (Я не хочу, чтобы им было 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))

Ответ 1

Я понял, вы используете 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

Ответ 2

Это какой-то другой маршрут, но рассмотрите ли вы все это в 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 enter image description here