Ich versuche, einige Millionen Datenpunkte in R zu plotten. Ich verwende derzeit ggplot2 (aber ich bin offen für Vorschläge von alternativen Paketen). Das Problem ist, dass die Grafik zu lange dauert (oft über eine Minute). Ich suche nach Möglichkeiten, dies schneller zu machen - in Echtzeit im Idealfall. Ich würde jede Hilfe zu schätzen wissen - Code zur Klärung der Frage anfügen.Effizient plotten Millionen von Datenpunkten in R
Erstellen eines (random) Datenrahmen mit ~ 500000 Datenpunkte:
letters <- c("A", "B", "C", "D", "E", "F", "G")
myLetters <- sample(x = letters, size = 100000, replace = T)
direction <- c("x", "y", "z")
factor1 <- sample(x = direction, size = 100000, replace = T)
factor2 <- runif(100000, 0, 20)
factor3 <- runif(100000, 0, 100)
decile <- sample(x = 1:10, size = 100000, replace = T)
new.plot.df <- data.frame(letters = myLetters, factor1 = factor1, factor2 = factor2,
factor3 = factor3, decile = decile)
nun die Daten Plotten:
color.plot <- ggplot(new.plot.df, aes(x = factor3, y = factor2, color = factor1)) +
geom_point(aes(alpha = factor2)) +
facet_grid(decile ~ letters)
Wie kann ich die Wiedergabe schneller ?
Die erste Sache, die mir in den Sinn kommt, würde eine Teilmenge der gesamten Daten nehmen, die Sie planen. Weniger Punkte sollten vermutlich schnellere Rendering-Zeiten bedeuten. Der Trick besteht darin, herauszufinden, wie man die Millionen von Punkten abtastet. –
Danke Tim. Ich probiere verschiedene Stichprobenmethoden aus, aber abgesehen davon, dass ich diesen Weg hinunter gehe, gibt es einen anderen Weg? –
Die einzigen zwei Dinge, die eine Alternative sein könnten, wären, ggplot irgendwie zu manipulieren, um schneller zu rendern, was eine Expertise erfordern würde, die ich nicht habe. Und die andere Möglichkeit wäre natürlich, eine schnellere Maschine zu bekommen, was wahrscheinlich keine Option ist. –