Pregunta ¿Cómo formatear los valores numéricos para la leyenda ggplot2?


Estoy trabajando en terminar un gráfico generado usando ggplot2 como tal ...

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

He adjuntado el resultado y puede ver los valores numéricos en la leyenda para 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


16
2017-10-22 01:34


origen


Respuestas:


Nota 2014-07-16: la sintaxis en esta respuesta ha quedado obsoleta por algún tiempo. Utilizar ¡La respuesta de Metasequoia!


Sí, solo es cuestión de obtener la capa de scale_colour_ correcta. Tratar:

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

Personalmente, también movería mi asignación de color a la capa geom_point, para que no te dé 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)

11
2017-10-22 03:55



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

Ver también este intercambio


34
2018-02-21 16:17



... cuando tropecé con este hilo más viejo, tal vez tenga sentido agregar que necesitas cargar library("scales"), de lo contrario, aparece el siguiente mensaje de error

Error in check_breaks_labels(breaks, labels) : object 'comma' not found


2
2018-05-18 05:43