2017-11-20 1 views
1

Angenommen, ich möchte einen Vektor in R mit verschiedenen Farben darstellen. Ich schreibe:Benutzer Spezifische Farben beim Zeichnen einer zufälligen Anzahl von Elementen

x <- 1:10 
    plot(x,col=x) 

oder

x <- 1:5 
    plot(x,col=x) 

Vom Grundstück zu sehen, dass sowohl in den Fällen „rot“ die zweite Farbe, die R sein, schwarz die ersten wählt. Ich möchte "Rot" zum ersten machen.

Bitte beachten Sie, dass die Definition von 5 oder 10 Farben nicht die Lösung ist, da 5 und 10 beliebige Zahlen sind.

Jede Hilfe wäre hilfreich.

Mein ursprüngliches Problem wurde die Definition anwenderspezifische Farben in ggplot2 mit:

aes(color=factor(Variable)) 

Dabei wollte ich rot die erste Farbe machen.

Antwort

1

Hier gibt es zwei separate Probleme.

Wenn Sie die Basis R plotten verwenden, werden Farben aus der Standardpalette gewählt:

palette() 
[1] "black" "red"  "green3" "blue" "cyan" "magenta" "yellow" "gray" 

Jetzt sehen Sie, warum zweite schwarze erste ist, und rot ist. In Ihrem Beispiel, rot zu bekommen zuerst könnten Sie versuchen:

plot(1:5, col = 2:6) 

aber wirklich, dass weder Handlung noch die Farbgebung sehr viel Sinn machen.

Jetzt zu ggplot2: es verwendet eine eigene Farbpalette as described in these answers. Wenn Sie nach einer Faktorvariablen malen und diese Palette überschreiben möchten, können Sie scale_color_brewer() mit einer definierten Palette z.:

+ scale_color_brewer(palette = "Dark2") 

oder Ihre eigenen Farben zu verwenden, scale_color_manual(), z.B. für die erste Farbe, um rot zu sein:

+ scale_color_manual(values = c("red", "blue", "green", ...) 
Verwandte Themen