Hier ist eine Implementierung ich für das phonR
Paket aufgearbeitet ... die fillTriangle
Funktion nicht exportiert wird, so dass Sie den :::
Operator verwenden müssen, darauf zuzugreifen. Beispiel zeigt sowohl pch-basierte als auch rasterbasierte Ansätze.
# set up color scale
colmap <- plotrix::color.scale(x=0:100, cs1=c(0, 180), cs2=100, cs3=c(25, 100),
alpha=1, color.spec='hcl')
# specify triangle vertices and corner colors
vertices <- matrix(c(1, 4, 2, 1, 3, 4, length(colmap), 1, 30), nrow=3,
dimnames=list(NULL, c("x", "y", "z")))
# edit next line to change density/resolution
xseq <- yseq <- seq(0, 5, 0.01)
grid <- expand.grid(x=xseq, y=yseq)
grid$z <- NA
grid.indices <- splancs::inpip(grid, vertices[,1:2], bound=FALSE)
grid$z[grid.indices] <- with(grid[grid.indices,],
phonR:::fillTriangle(x, y, vertices))
# plot it
par(mfrow=c(1,2))
# using pch
with(grid, plot(x, y, col=colmap[round(z)], pch=16))
# overplot original triangle
segments(vertices[,1], vertices[,2], vertices[c(2,3,1),1],
vertices[c(2,3,1),2])
points(vertices[,1:2], pch=21, bg=colmap[vertices[,3]], cex=2)
# using raster
image(xseq, yseq, matrix(grid$z, nrow=length(xseq)), col=colmap)
# overplot original triangle
segments(vertices[,1], vertices[,2], vertices[c(2,3,1),1],
vertices[c(2,3,1),2])
points(vertices[,1:2], pch=21, bg=colmap[vertices[,3]], cex=2)
Dank für die große Lösung ... ist es Art und Weise in mehr dunkler Farbe (rot, grün und blau) zu beginnen, so dass Gradienten Blick schärfer – jon
ich ein paar verschiedene versucht haben, Dinge, um den Gradienten schärfer zu machen, aber ich konnte keinen Weg finden, der Bereiche des Graphen nicht sehr dunkel und langweilig macht. Geht es dir gut mit Rot, Grün und Blau in den Ecken? Wenn ja, versuchen Sie, die letzte Codezeile durch 'Punkte 'zu ersetzen (x, y, col = rgb (d.red, d.green, d.blau), pch = 19) '- die Farbverläufe für diese drei Farben erscheinen schärfer, da sie sich nicht so sehr mit den anderen Farben mischen. – Edward
Warum plotten Sie jeden Punkt einzeln? Sie können einen Vektor von Farben speichern und alle Punkte auf einmal zeichnen. – baptiste