2010-10-22 35 views
16

estoy trabajando en terminar un gráfico generado usando ggplot2 así ...¿Cómo formatear los valores numéricos para la leyenda ggplot2?

ggplot(timeSeries, aes(x=Date, y=Unique.Visitors, colour=Revenue)) 
+ geom_point() + stat_smooth() + scale_y_continuous(formatter=comma) 

He adjuntado el resultado y se puede ver los valores numéricos en la leyenda de ingresos no tienen una coma. ¿Cómo puedo agregar una coma a esos valores? Pude usar scale_y_continuous para el eje, ¿se puede usar también para la leyenda?

alt text

Respuesta

10

Nota 16/07/2014: la sintaxis de esta respuesta ha sido obsoleto desde hace algún tiempo. Utilice metasequoia's answer!


Sí - sólo una cuestión de conseguir la capa scale_colour_ derecha resuelto. Proveedores:

ggplot(timeSeries, aes(x = Date, y = Unique.Visitors, colour = Revenue)) + 
    geom_point() + 
    stat_smooth() + 
    scale_y_continuous(formatter = comma) + 
    scale_colour_continuous(formatter = comma) 

yo personalmente también me mover la asignación de colores a la capa geom_point, por lo que no le da esa línea extraña detrás del punto en la leyenda:

ggplot(timeSeries, aes(x = Date, y = Unique.Visitors)) + 
    geom_point(aes(colour = Revenue)) + 
    stat_smooth() + 
    scale_y_continuous(formatter = comma) + 
    scale_colour_continuous(formatter = comma) 
+0

Eso era bueno. gracias Matt. – analyticsPierce

33

Sólo para mantener al día, en ggplot2_0.9.3 la sintaxis de trabajo es:

require(scales) 
ggplot(timeSeries, aes(x=Date, y=Unique.Visitors, colour=Revenue)) + 
    geom_point() + 
    stat_smooth() + 
    scale_y_continuous(labels=comma) + 
    scale_colour_continuous(labels=comma) 

véase también this exchange

+0

Utilice '' scale_size_continuous (labels = comma) '' si ha configurado '' size'' (en lugar de '' colour'') dentro de 'es aes() '', y del mismo modo con forma y relleno, supongo. – PatrickT

Cuestiones relacionadas