2016-05-05 10 views
0


ggplot2 Farbe - Zeigt eine andere Farbe, wenn bestimmte ‚rot‘

ich zu verstehen versuchen, wie ggplot2 die Ästhetik für Farbe verarbeitet.

Die beiden unten abgebildeten ggplot-Befehle zeigen unterschiedliche Farben an. Der zweite Befehl zeigt eine hellere Farbe an und gibt zusätzlich eine Legende aus.
Ich schätze es, wenn jemand dieses Konzept beleuchten kann.

data(iris) 

#1st command 
ggplot(iris) + geom_point(aes(Sepal.Length,Sepal.Width), color = "red") 

#2nd command 
ggplot(iris) + geom_point(aes(Sepal.Length,Sepal.Width, color = "red")) 

Antwort

1

aes() Karten zwischen den Variablen in den Eingangsdaten und visuellen Eigenschaften wie Farbe, Form usw. Daher Ihr erster Befehl, die zugeordnet "red" als color außerhalb von aes() korrekt ist. Ihr zweiter Befehl scheint falsch zu sein (obwohl er ohne Fehler funktioniert), da Sie color nicht mit Ihrem variable in aes() übereinstimmen. Sie können eine Variable (zB Species in iris Daten) color innerhalb von aes() Karte wie

ggplot(iris) + geom_point(aes(Sepal.Length,Sepal.Width, color = Species)) 

Ich weiß nicht, wie ggplot2 diese Griffe, aber ich denke, dass Sie die gleiche Farbe für Ihr Grundstück erhalten unabhängig von Farbnamen innerhalb von aes() in Ihrem zweiten Befehl.

Zum Beispiel jener unter drei Codes das gleiche mit der gleichen hellroten Farbe (mit Ausnahme der Legenden) plotten.

ggplot(iris) + geom_point(aes(Sepal.Length,Sepal.Width, color = "red")) 
ggplot(iris) + geom_point(aes(Sepal.Length,Sepal.Width, color = "black")) 
ggplot(iris) + geom_point(aes(Sepal.Length,Sepal.Width, color = "blue")) 

Hoffe, das hilft!

+1

ein ästhetische auf einen festen Wert in 'aes' Kartierung, wie in' aes (color = "red") ', schafft im wesentlichen eine Variable in den Daten mit nur einem Wert,' "red" 'und Kartenfarbe, dass . Dies wird manchmal als ein bisschen "Trick" verwendet, um eine Legende für eine bestimmte Ebene zu erzeugen, wenn die Absicht ist, Anmerkungen zu machen, aber andere Funktionen sind für viele dieser Fälle entstanden. – joran

+0

Danke für die Details! – Joonbum

Verwandte Themen