2017-07-08 12 views
1

Ich versuche, Datum, x und y in einem 3D-Plot in R zu zeichnen. (Mit RStudio 0.99.903), R (3.3.2), Streuplot3D (0.3-40), rgl (0.98.1)Plotten von Daten in 3D-Plots R

dates = c("2016-11-10","2016-11-20","2016-12-01","2016-12-15","2016-12-30") 

x = rnorm(5,0,1) 

y = rnorm(5,1,2) 

A = data.frame(dates, x, y) 

A$dates = as.Date(A$dates,"%yyyy-%mm-%dd") 

library(scatterplot3d) 

with(data=A, scatterplot3d(x=x,y=y,z=dates)) 

This plots the dates as integers 

I also tried the rgl package, but get the same result. 

library(rgl) 

plot3d(x=A$x,y=A$y,z=A$dates) 
+0

'A $ dates = as.Datum (A $ dates,"% Y-% m-% d ")' – Masoud

+0

Willkommen bei StackOverflow! Bitte stellen Sie sicher, dass Sie eine spezifische Frage angeben. –

Antwort

1

Hier erfahren Sie, wie Sie as.Date verwenden können. Sie müssen in geeignetem Zeitpunkt zu formatieren und Sie Ihr gewünschtes Grundstück erhalten:

 dates = c("2016-11-10","2016-11-20","2016-12-01","2016-12-15","2016-12-30") 
    x = rnorm(5,0,1) 
    y = rnorm(5,1,2) 
    A = data.frame(dates, x, y) 

    A$dates = as.Date(A$dates,"%Y-%m-%d") 

    library(scatterplot3d) 

    scatterplot3d(x=A$x, y=A$y, z=A$dates) 

Plot würde wie folgt aussehen:

enter image description here

die z-Achse korrigieren Sie in diesen page beziehen.

Um diese Fehler zu vermeiden, können Sie anytime package by Dirk Eddelbuettel verwenden.

library(anytime) 
A$dates <- anytime(A$dates) 
0

Masoud zeigte Ihnen, wie Sie die Zeichenketten in Daten konvertieren. Um schöne Datumsetiketten in rgl zu erhalten, müssen Sie selbst etwas mehr Arbeit erledigen: Sie wissen nichts über Daten. Zum Beispiel

dates = c("2016-11-10","2016-11-20","2016-12-01","2016-12-15","2016-12-30") 
x = rnorm(5,0,1) 
y = rnorm(5,1,2) 
A = data.frame(dates, x, y) 


A$dates = as.Date(A$dates,"%Y-%m-%d") 

ticks <- pretty(A$dates) 
plot3d(A$x, A$y, A$dates, axes = FALSE) 
box3d() 
axes3d(c("x", "y")) # default axis labels here 
axis3d("z", at = ticks, 
    labels = format(ticks, format = "%b %d")) # see ?strptime for formats 

Ich bin mir nicht sicher, ob diese Etiketten in scatterplot3d möglich sind.

+0

Das funktioniert gut - danke! Jederzeit schien die Bibliothek nicht zu funktionieren. – Susan