Qual è il modo migliore per visualizzare graficamente una funzione di densità 3D? Come in vorrei visualizzare ?
Non necessario ma il R
codice per questo sarebbe fantastico.
data-visualization
fa parte del nostro mandato.
Qual è il modo migliore per visualizzare graficamente una funzione di densità 3D? Come in vorrei visualizzare ?
Non necessario ma il R
codice per questo sarebbe fantastico.
data-visualization
fa parte del nostro mandato.
Risposte:
Bene, ci sono quattro possibili approcci che mi vengono in mente (anche se sono sicuro che ce ne sono molti altri) ma fondamentalmente potresti tracciare i dati come un diagramma di prospettiva, un diagramma di contorno, una mappa di calore o se preferisci una dispersione 3D grafico (che è più o meno un diagramma prospettico quando si hanno valori di per tutte le coppie ( x , y ) . Ecco alcuni esempi di ciascuno (da un noto set di dati 3D ):R
Ecco due grafici aggiuntivi che hanno caratteristiche di stampa migliori rispetto a quelle fornite in precedenza. Quindi, a seconda delle tue preferenze, determinerai il modo in cui ti piacerebbe visualizzare i set di dati 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 per aggiungere una barra dei colori. Inoltre, filled.contour()
genera un grafico simile con una barra dei colori aggiunta per impostazione predefinita.
colorRampPalette()
, ad esempio se scrivi a = colorRampPalette(c('dark blue','blue','light blue','yellow','orange', 'red','dark red'))
, crea una funzione a
che genera un'approssimazione discreta di un continuum di colore che passa attraverso quei colori. L'argomento a a
è un numero intero che determina la risoluzione di questa approssimazione discreta.