2017-04-19 1 views
0

Ich fragte mich, warum ich nur eine Linie in meinem 3D-Scatterplot statt einer 3-D-Plot mit "Scatterplot3d" Paket sogar geplottet bekommen obwohl ich zwei Variablen habe?Warum eine Zeile statt einer 3-D mit Paket "Scatterplot3D"

Hier ist mein R-Code:

z = function(x, y) { dcauchy(2, x, y) } 

x = seq(-10, 10, len = 1e3) 

y = seq(.5, 2, len = 1e3) 

z <- z(x, y) 

require(scatterplot3d) 

scatterplot3d(x = x, y = y, z = z, pch = 20, angle = 70) 

Antwort

0

Ihre Daten sind für eine Oberflächendarstellung geeignet, keine Streu-Plot. R Base kann das leicht handhaben. Sie müssen zuerst Ihre grid auswerten. Bitte sehen Sie ?persp(). Sie können dies tun, indem Sie die outer in R-Basis verwenden.

Dies ist der vollständige Code:

x = seq(-10, 10, len = 30) ## len = "le3" is too thin to handle for R ! 

y = seq(.5, 2, len = 30) 

f = function(x, y) { dcauchy(2, x, y) } # I renamed your function to 'f' 

z <- outer(x, y, f) ## Notice "outer" 


persp(x, y, z) ## Now you get what you want! 
Verwandte Themen