Ich habe Rasterdaten, die binär codiert sind, und ich möchte levelplot
im Paket rasterVis
verwenden, um die Daten so zu plotten, dass 0 Werte grün und 1 Werte rot sind. Ich kann nicht finden, wie man eine Farbe für einen Wert spezifiziert.Farben für binäre Daten mit Levelplot angeben
Als Beispiel
# create a matrix with 0s and 1s
nr <- 21
nc <- 11
m <- matrix(sample(0:1, nr*nc, replace=TRUE), nr, nc)
# plot the matrix
colour <- c("green", "red")
levelplot(m, col.regions=colour, margin = FALSE)
der gut arbeitet, und erzeugt diese Binary matrix
Aber wenn ich Matrizen, die alle 0 oder alle 1 sein passieren,
m2 <- matrix(0, nr, nc)
levelplot(m2, col.regions=colour, margin = FALSE)
m3 <- matrix(1, nr, nc)
levelplot(m3, col.regions=colour, margin = FALSE)
Ich bekomme das gleiche Diagramm, wenn ich möchte, dass 0 Werte grün und 1 Werte rot sind.
Matrix with only 0 or 1 values
Wie gebe ich so, dass, wenn es 0 ist, ist es grün herauskommt, und wenn es 1 ist, kommt es rot aus?
'levelplot' ist Teil der Basis R. nicht erwähnen Sie bitte den Paketnamen (s) Sie verwenden in Ihrer Frage. – lmo
@lmo Habe es gerade in –
hinzugefügt Ich habe im Moment keinen Zugriff auf dieses Paket, also kann ich nichts testen, aber Sie könnten etwas mit 'ifelse' versuchen. Vielleicht col = 'ifelse (0," grün "," rot ")'. Diese Technik funktioniert auf jeden Fall für Basis-R-Diagramme. Überprüfen Sie den Hilfebereich: '? Levelplot', um zu sehen, ob Sie Farbarten manuell anpassen. – lmo