Rotation d'un graphique en 3D

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Marine Cadoret
Messages : 8
Enregistré le : 05 Déc 2006, 14:19

Rotation d'un graphique en 3D

Messagepar Marine Cadoret » 06 Déc 2006, 12:14

Bonjour,

Je dois réaliser une graphique en 3D du type, par exemple :

x<-seq(-1,1,by=0.05)
y<-seq(-1,1,by=0.05)
z<-matrix(0,length(x),length(y))
f<-function(x,y){x^2-y^2}
z<-outer(x,y,f)
persp(x,y,z,theta=30,phi=20,r=50,d=0.1,expand=0.5,ltheta=90,shade=0.2,col="lightgreen")

Je voudrais savoir s'il est possible de changer le point de vue du graphique, de façon à le voir de différents angles?

Merci pour vos réponses.

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 06 Déc 2006, 12:54

Bonjour,

Il faut que tu joues avec les paramètres theta et phi.


Maxime

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 06 Déc 2006, 14:25

Voici un exemple avec la fct cloud du package lattice, et le jeu de données galaxy que j'ai placé ici (à charger dans le répertoire de travail de R):

Code : Tout sélectionner

library(lattice)
galaxy <- read.table("galaxy.csv", sep = ",", header = TRUE)

fit <- predict(loess(velocity ~ east.west * north.south, data = galaxy,
                     span = 0.25, degree = 2, normalize = FALSE, family = "symmetric"))

angle <- c(22.5, 67.5, 112.5, 337.5, 157.5, 292.5, 247.5, 202.5)
Angle <- shingle(rep(angle, rep(length(fit), 8)), angle)

cloud(rep(fit, 8) ~ rep(galaxy$east.west, 8) * rep(galaxy$north.south, 8) | Angle,
          groups = Angle,
          panel = function(x, y, subscripts, z, groups,...){
            w <- groups[subscripts][1]
            panel.cloud(x, y, subscripts, z, screen = list(z = w, x = -60, y = 0), ...)
            },
          strip = FALSE,
          skip = c(FALSE, FALSE, FALSE, FALSE, TRUE, FALSE, FALSE, FALSE, FALSE),
          layout = c(3,3),
          distance = .3,
          xlab = "E-W",
          ylab = "S-N",
          zlab = "V")


J'ai adapté l'exemple à partir du manuel S-Plus sur les graphes Trellis.

Renaud

Romain François
Messages : 42
Enregistré le : 08 Déc 2005, 19:23
Contact :

Messagepar Romain François » 07 Déc 2006, 09:03

... Il y a aussi le package rgl
--
Romain François
Consultant R Indépendant
http://romainfrancois.blog.free.fr


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité