2012-04-03 26 views
10

No puedo cambiar el tamaño de fuente en un diagrama direct.label (del paquete directlabels) ggplot2. Vea a continuación un ejemplo reproducible: no hay problema para rotar las etiquetas 45 grados, lo que las convierte en negrita, serif y 50% transparentes (todos los otros argumentos en la lista al final del código a continuación), pero no puedo controlar el tamaño de letra. (Realmente no quiero que sean 25, esto es solo para probar ...)¿Cómo cambiar tamaño de fuente en direct.label?

¿Hay algo que me falta, o es esto un error?

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)) 

Respuesta

11

lo he descubierto, se utiliza cex para cambiar el tamaño de fuente.

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)) 

que le daría, jjj

3

Es una ruta algo diferente, pero ¿considerarías hacerlo todo en 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") 

Esto le daría esto, y se puede ajustar el tamaño de fuente utilizando size enter image description here

+0

gracias, no está mal con estos datos y 1 para algo, probablemente voy a utilizar, pero quiero que la funcionalidad de modo direct.labels etiquetas no están en la parte superior de uno para el otro para puntos cercanos (mis datos reales tienen etiquetas más largas). –

Cuestiones relacionadas