Uno dei possibili pacchetti per grafici 3D interattivi è rgl. Quello che mi piacerebbe fare è creare uno scatterplot 3D con codifica a colori in base a una variabile fattore. Il grafico a dispersione dimensionale 3D è per i carichi risultanti dall'analisi di plsr.Aggiunta di una legenda al grafico scatter3d
Il grafico risultante assomiglia
I esempio dati è dato in una tabella:
> loadings
| Comp 1 | Comp 2 | Comp 3 | Class
-------------------------------------------------------------------------------------------
TEMP | -0.0607044182964255 | "0.0437618450165671" |"0.045124991801441" | "global"
MW | "-0.13414890573833" | "-0.0970537799069731" |0.263043734662182" | "local"
DM |"-0.183751529577861" | "-0.102703237685933" |"0.0640549385564205" | "global"
CHG |"-0.0558781715833019"| "0.125155347350922" |"-0.119258450107321" | "local"
o può essere generato:
loadings <- data.frame(Comp1 = c(1.2, 3.4, 5.6, 13.1), Comp2 = c(4.3, 1.2, 7.7, 9.8),
Comp3 = c(1.2,6.9,15.6,15.0),
row.names = c("TEMP", "MW", "DM", "CHG"),
Class = c("global", "local", "global", "local"))
scatter3d(x=loadings[[1]], y=loadings[[2]], z=loadings[[3]],
point.col = as.numeric(as.factor(loadings[,4])), size = 10)
trama Ottenuto ha il sa Mi stile, ma è molto più semplice in quanto vi sono solo due livelli di "Class" variabile: 'globale' e 'locale'
domanda è: E 'la possibilità di aggiungere leggenda all'interno RGL o forse qualche leggenda indipendente può essere allegata alla trama? Grazie in anticipo per l'aiuto!
risposta è:
scatter3d(x=loadings[[1]], y=loadings[[2]], z=loadings[[3]],
point.col = as.numeric(as.factor(loadings[,4])), size = 10, type = 's')
text3d(x=1.1, y=c(.9,1), z=1.1,levels(loadings[[4]]),col="black")
points3d(x=1.2,y=c(.9,1),z=1.1, col=as.numeric(as.factor(loadings[,4])), size=5)
La trama con le etichette in base alle classi:
Si prega di aggiungere il codice e se i dati possibili (reali o inventate) alla tua domanda in modo da fare una [repr minima esempio oducibile] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). – SlowLearner
Questo nuovo codice genera un errore: "Errore in complete.cases (x, y, z): ...". P –
risolto questo errore. – Boddha