¿Cuál es la mejor forma gráfica de visualizar una función de densidad tridimensional? Como en me gustaría visualizar ?
No es necesario, pero el R
código para esto sería genial.
data-visualization
forma parte de nuestro mandato.
¿Cuál es la mejor forma gráfica de visualizar una función de densidad tridimensional? Como en me gustaría visualizar ?
No es necesario, pero el R
código para esto sería genial.
data-visualization
forma parte de nuestro mandato.
Respuestas:
Bueno, hay cuatro enfoques posibles que me vienen a la mente (aunque estoy seguro de que hay muchos más), pero básicamente puedes trazar los datos como un diagrama de perspectiva, un diagrama de contorno, un mapa de calor o si prefieres una dispersión tridimensional plot (que es más o menos una gráfica de perspectiva cuando tiene valores de para todos los pares ( x , y ) . Aquí hay algunos ejemplos de cada uno (de un conjunto de datos tridimensional conocido ):R
Aquí hay dos parcelas adicionales que tienen características de trazado más bonitas que las dadas anteriormente. Entonces, según su preferencia, determinará de qué manera desea visualizar los conjuntos de datos en 3D.
Here is the `R` code used to generate these four mentioned plots.
library(fields)
library(scatterplot3d)
#Data for illistarition
x = seq(-10, 10, length= 100)
y = x
f = function(x, y) { r = sqrt(x^2+y^2); 10 * sin(r)/r }
z = outer(x, y, f)
z[is.na(z)] = 1
#Method 1
#Perspective Plot
persp(x,y,z,col="lightblue",main="Perspective Plot")
#Method 2
#Contour Plot
contour(x,y,z,main="Contour Plot")
filled.contour(x,y,z,color=terrain.colors,main="Contour Plot",)
#Method 3
#Heatmap
image(x,y,z,main="Heat Map")
image.plot(x,y,z,main="Heat Map")
#Method 4
#3-D Scatter Plot
X = expand.grid(x,y)
x = X[,1]
y = X[,2]
z = c(z)
scatterplot3d(x,y,z,color="lightblue",pch=21,main="3-D Scatter Plot")
image.plot()
comando agregue una barra de color. Además, filled.contour()
genera un gráfico similar con una barra de color agregada de forma predeterminada.
colorRampPalette()
, por ejemplo, si escribe a = colorRampPalette(c('dark blue','blue','light blue','yellow','orange', 'red','dark red'))
, crea una función a
eso genera una aproximación discreta de un continuo de color que pasa a través de esos colores. El argumento de a
es un número entero que determina la resolución de esta aproximación discreta.