Ich versuche, ein Liniendiagramm über eine gefüllte Kontur zu setzen, um einen ähnlichen Effekt wie in Abbildung 1 here zu erzielen.Wie überlagert man ein Liniendiagramm über einer gefüllten.Kontur?
require("lattice")
require("latticeExtra")
mat = matrix(c(1:9),nrow=3,byrow=TRUE); time = c(1:3); mid = c(1:3)
mat
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
line = colMeans(mat)
shades = colorRampPalette(c("red", "green"))
filled.contour(mid,time,t(apply(mat,2,rev)),
zlim=c(1,9),nlevels=9,col=shades(9))
xyplot(line~time,type="l")
Der offensichtlichste Weg zu gehen ist mit Ebenen, aber es hat nicht für mich bisher funktioniert.
layer(filled.contour(mid,time,t(apply(mat,2,rev)),
zlim=c(1,9),nlevels=9,col=shades(9))) +
layer(xyplot(line~time,type="l"))
Irgendwelche Vorschläge?
Ich würde gehen versuchen mit 'par (new = TRUE)' vor dem Zeichnen der zweiten Handlung, aber ich benutze 'Gitter' nicht, also weiß ich nicht, ob es für Sie arbeiten wird. –
Die Funktion filled.contour ist eigentlich nicht Teil der Gitter- oder GitterExtra-Pakete. Es ist Teil der Grafik von Base R. Es arbeitet nicht zusammen mit den xyplot- oder Schichtfunktionen, die Teil von Gitter und Gitterextra sind. – Konn