2017-11-21 7 views
2

Ich habe einen Datensatz von einer 9 Punkte in einer Kombination von 2 Variablen mit 3 Werte, die jeweils, dhWie füge ich einer gefüllten Kontur ein Streudiagramm hinzu?

x <- c(0,10,100) 
y <- c(0,25,30) 
z <- matrix(c(1,2,3,4,5,6,7,8,9), nrow = 3, ncol = 3, byrow = TRUE) 

Mit diesen Daten habe ich eine Konturplot

filled.contour(x,y,z) 

enter image description here

beobachtet gebildet

Getrennt habe ich das Streudiagramm von den Punkten erstellt, an denen die Daten gesammelt wurden

A <- matrix(c(0,0,0,10,10,10,100,100,100), nrow = 3, ncol = 3) #As x 
B <- matrix(c(0,0,0,25,25,25,30,30,30), nrow = 3, ncol = 3, byrow = TRUE) #As y 
plot(A,B) 

enter image description here

Wenn ich jedoch versuche, sie zusammenzufügen, funktioniert es nicht ganz gut. Kann mir jemand helfen? Wie kann ich das Streudiagramm über das Konturdiagramm korrekt setzen?

x <- c(0,10,100) 
y <- c(0,25,30) 
z <- matrix(c(1,2,3,4,5,6,7,8,9), nrow = 3, ncol = 3, byrow = TRUE) 
A <- matrix(c(0,0,0,10,10,10,100,100,100), nrow = 3, ncol = 3) #As x 
B <- matrix(c(0,0,0,25,25,25,30,30,30), nrow = 3, ncol = 3, byrow = TRUE) #As y 
filled.contour(x,y,z) 
points(A,B) 

enter image description here

+0

scheint, wie sie in den gleichen Achsen nicht aufgetragen sind. Y-Achse ist die gleiche Skala, aber X-Achse ist nicht. – Heikki

+0

@Heikki Wie kann ich das lösen? –

+1

Siehe "? Filled.contour": _Die von filled.contour erzeugte Ausgabe ist eigentlich eine Kombination aus zwei Plots; eine ist die gefüllte Kontur und eine ist die Legende. Für diese beiden Diagramme werden zwei separate Koordinatensysteme eingerichtet, die jedoch nur intern verwendet werden. Wenn die Funktion einmal ausgeführt wurde, gehen diese Koordinatensysteme verloren. Wenn Sie das Hauptkonturdiagramm annotieren möchten, um beispielsweise Punkte hinzuzufügen, können Sie im Argument plot.axes Grafikbefehle angeben. Siehe die Beispiele. – Heikki

Antwort

0

Wie @Heikki comented, habe ich einige Änderungen:

x <- c(0,10,100) 
y <- c(0,25,30) 
z <- matrix(c(1,2,3,4,5,6,7,8,9), nrow = 3, ncol = 3, byrow = TRUE) 
A <- matrix(c(0,0,0,10,10,10,100,100,100), nrow = 3, ncol = 3) #As x 
B <- matrix(c(0,0,0,25,25,25,30,30,30), nrow = 3, ncol = 3, byrow = TRUE) #As y 
filled.contour(x,y,z,# 
    plot.axes = { axis(1); axis(2); points(A,B)}) #<- New 

enter image description here

Verwandte Themen