2010-10-22 15 views
16

Sto lavorando su finendo un grafico generato utilizzando ggplot2 in questo modo ...Come formattare i valori numerici per la legenda di ggplot2?

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

Ho allegato il risultato e si può vedere i valori numerici nella leggenda per entrate non hanno una virgola. Come posso aggiungere una virgola a quei valori? Sono stato in grado di usare scale_y_continuous per l'asse, può essere usato anche per la legenda?

alt text

risposta

10

Nota 2014/07/16: la sintassi di questa risposta è stato obsoleto per un certo tempo. Utilizzare metasequoia's answer!


Yep - solo una questione di ottenere il livello di scale_colour_ destra capito. Prova:

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

io personalmente vorrei anche spostare la mia la mappatura del colore allo strato geom_point, in modo che non ti dà quella linea strano dietro il punto nella leggenda:

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

Quello era buono. grazie Matt. – analyticsPierce

33

Solo per corrente mantenere, nel ggplot2_0.9.3 la sintassi di lavoro è:

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) 

vedere anche this exchange

+0

Usa '' scale_size_continuous (labels = comma) '' se hai impostato '' size'' (piuttosto che '' color'') all'interno di '' aes() '', e similmente con forma e riempimento immagino. – PatrickT

Problemi correlati