2010-10-22 9 views
16

Ich arbeite ein Diagramm auf Finishing erzeugt mit ggplot2 wie so ...Wie formatiert man Zahlenwerte für die ggplot2-Legende?

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

Ich habe das Ergebnis angehängt, und Sie können die numerischen Werte in der Legende für Revenue sehen nicht ein Komma haben. Wie kann ich diesen Werten ein Komma hinzufügen? Ich konnte scale_y_continuous für die Achse verwenden, kann das auch für die Legende verwendet werden?

alt text

Antwort

10

Hinweis 2014.07.16: die Syntax in dieser Antwort ist seit einiger Zeit überholt. Verwenden metasequoia's answer!


Yep - nur eine Frage der immer die richtige scale_colour_ Schicht herausgefunden. Versuchen:

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

persönlich würde ich auch meint die Farbzuordnung auf die geom_point Schicht verschieben, so dass es nicht gibt Ihnen, dass ungeradee Linie hinter dem Punkt in der Legende:

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

sehen, dass war gut. Danke, Matt. – analyticsPierce

33

Gerade halten Strom, in ggplot2_0.9.3 die Arbeits Syntax:

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) 

auch this exchange

+0

Verwende '' scale_size_continuous (labels = comma) '' wenn du ''size'' (statt' 'colour'') in' 'aes()' 'gesetzt hast, und ebenfalls mit shape und fill, denke ich. – PatrickT