Ich arbeite oft damit ggplot2
, dass Farbverläufe schön sind ( klicken Sie hier für ein Beispiel ). Ich muss in der Basis arbeiten und ich denke, scales
dass ich dort auch Farbverläufe erstellen kann, aber ich bin völlig daneben. Das grundlegende Ziel besteht darin, eine Palette von n Farben zu generieren, die von x bis y reicht. Die Lösung muss jedoch in der Basis funktionieren. Dies war ein Ausgangspunkt, aber es gibt keinen Ort, an dem ein n eingegeben werden kann.
scale_colour_gradientn(colours=c("red", "blue"))
Mir ist klar:
brewer.pal(8, "Spectral")
von RColorBrewer
. Ich suche eher nach einem Ansatz, der dem Umgang ggplot2
mit Verläufen ähnelt und besagt, dass ich diese beiden Farben habe und 15 Farben auf dem Weg haben möchte. Wie kann ich das machen?
base
speziell angefordert haben , aber ich findecolourvalues
( auch auf CRAN ) besonders praktisch, um Werte einem Gradienten zuzuordnen. Es ist auch ziemlich leicht (hängt davon abRcpp
).Antworten:
colorRampPalette
könnte dein Freund hier sein:Und nur um zu zeigen, dass es funktioniert:
quelle
brewer.pal(8, "Spectral")
den resultierenden Farbvektor angeben könnencolorRampPalette
, um mehr Farben entlang dieser Rampe zu generieren. Zum Beispiel :colorRampPalette(brewer.pal(8, "Spectral"))
.Nur um die vorherige Antwort zu erweitern,
colorRampPalette
können mehr als zwei Farben verarbeitet werden.Für einen erweiterten "Heat Map" -Typ können Sie also ...
Das resultierende Bild:
quelle
Versuche Folgendes:
quelle
Die obige Antwort ist nützlich, aber in Diagrammen ist es schwierig, zwischen dunkleren Schwarzgradienten zu unterscheiden. Eine Alternative, die ich gefunden habe, besteht darin, graue Farbverläufe wie folgt zu verwenden
Mehr Infos zur Graustufe hier.
Hinzugefügt
Als ich den obigen Code für verschiedene Farben wie Blau und Schwarz verwendete, waren die Farbverläufe nicht so klar.
heat.colors()
scheint nützlicher.Dieses Dokument enthält detailliertere Informationen und Optionen. pdf
quelle