Liebe Gemeinde, bislang habe ich ortsaufgelöste Messdaten immer mit Gnuplot als Heatmap geplottet. Das Datenformat sieht folgendermaßen aus: [code] [x] [y] [z] 0 0 8 1 0 5 2 0 3 0 1 4 1 1 5 2 1 4 0 2 8 1 2 7 2 2 6 [\code] [x] und [y] sind dabei die Ortskoordinaten und [z] der Messwert. In Gnuplot kann man ja mit set cbrange[a:b] den Datenbereich für die Palette angeben und dann einfach mit [code] set view map splot 'data.dat' using 1:2:3 with image palette [\code] die Heatmap erstellen. Nun möchte ich das ganze vollständig in der Sprache "R" implementieren, da ich dort auch noch weitere Prozessierung durchführe. Leider scheitere ich kläglich bei der Verwendung der image-Funktion: [code] image(x, y, z, zlim, xlim, ylim, col = hcl.colors(12, "YlOrRd", rev = TRUE), add = FALSE, xaxs = "i", yaxs = "i", xlab, ylab, breaks, oldstyle = FALSE, useRaster, …) [\code] Ich erzeuge aus der eingelesenen Tabelle die Variablen x,y und z: [code] ip <- read.table("1.dat") x <- ip[,1] y <- ip[,2] z <- ip[,3] [\code] Der Aufruf der image-Funktion ist dann wie folgt: [code] image(x, y, z, 170, 1200, 1200,col = hcl.colors(12, "YlOrRd", rev = TRUE),add = FALSE, xaxs = "i", yaxs = "i",breaks, oldstyle = FALSE) [\code] Die Fehlerausgabe lautet: [code] Fehler in image.default(x, y, z, 170, 1200, 1200, col = hcl.colors(12, : ansteigende 'x' und 'y' Werte erwartet [\code] Ich kann meine Daten aber nicht stetig ansteigen lassen, oder nicht? Hat jemand von euch ein probates Mittel, um in R eine vernünftige Heatmap zu erstellen, die mit meinen Daten arbeiten kann? Beste Grüße Jiri
P.S.: Die Map soll so ausschauen, wie das beigefügte Bild. Dies ist die Heatmap aus GnuPlot. Gruß Jiri
Jiri schrieb: > Ich kann meine Daten aber nicht stetig ansteigen lassen, oder nicht? warum nicht? was sind denn deine Daten überhaupt, so wie im Beispiel echte Pixeldaten oder vereinzelte Datenpunkte irgendwo im Raum. Anders formuliert hast du die Heatmap schon, bestehend aus allen Pixeln die du benötigst? oder hast du nur wenige Messpunkte aus denen du erst ein Bild machen willst?
K. S. schrieb: > Anders > formuliert hast du die Heatmap schon, bestehend aus allen Pixeln die du > benötigst? oder hast du nur wenige Messpunkte aus denen du erst ein Bild > machen willst? Wie im angehängten Bild zu sehen, handelt es sich um die Bilddatenpunkte eines Bilddetektors. Der Frame ist also in x- und y-Richtung vollständig gefüllt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.