bar plot 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

Matthieu Lesnoff
Messages : 120
Enregistré le : 29 Nov 2004, 12:41

bar plot 3D

Messagepar Matthieu Lesnoff » 26 Jan 2007, 11:49

Bonjour

Je cherche a construire un graphique 3D du meme type que ce que font persp (graphics) et wireframe(lattice), par exemple :

Code : Tout sélectionner

# ?wireframe
library(lattice)
wireframe(volcano, shade = FALSE,
          aspect = c(61/87, 0.4),
          light.source = c(10,0,10))


mais avec une representation "bar plot".

Je n'ai pas vu d'exemples sur les sites Graphiques R. Quelqu'un sait-il comment faire ?

Matthieu


Matthieu Lesnoff
Messages : 120
Enregistré le : 29 Nov 2004, 12:41

Messagepar Matthieu Lesnoff » 26 Jan 2007, 18:58

Romain François a écrit :http://addictedtor.free.fr/graphiques/search.php?q=3d


oui j'avais vu la fonction scatterplot3d ou cloud(..., type = h) en parcourant les galeries, mais pour ce que je cherche à représenter (évolution de structures en classes d'âge en fonction du temps) le rendu n'est vraiment pas terrible. Pour une fois, je n'ai pas encore trouvé une fonction R faisant mieux que que la fonction bar3 de Matlab.

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

Messagepar Renaud Lancelot » 26 Jan 2007, 19:10

Pour ce genre de graphe je ne ferais pas de 3D mais un graphe trellis. Voir ?barchart dans le package lattice.

Renaud

Matthieu Lesnoff
Messages : 120
Enregistré le : 29 Nov 2004, 12:41

Messagepar Matthieu Lesnoff » 26 Jan 2007, 20:26

Renaud Lancelot a écrit :Pour ce genre de graphe je ne ferais pas de 3D mais un graphe trellis. Voir ?barchart dans le package lattice.

Renaud


en fait, j'ai essayé précedemment, ca devient illisible si bcp de structures, alors que la visu est excellente avec bar3.

M.

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

Messagepar Renaud Lancelot » 27 Jan 2007, 09:28

Peux-tu montrer les données ? Si l'objectif est de faire un graphe type pyramide des âges, on doit pouvoir construire une fonction panel adaptée.

Renaud

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

Messagepar Romain François » 28 Jan 2007, 10:49

Est-ce que tu peux aussi poster le genre de graphique que tu veux obtenir, quitte a le generer avec matlab ou a le faire a la main ...

Sinon, est-ce que tu as regardé du côté de rgl ?
--
Romain François
Consultant R Indépendant
http://romainfrancois.blog.free.fr

Matthieu Lesnoff
Messages : 120
Enregistré le : 29 Nov 2004, 12:41

Messagepar Matthieu Lesnoff » 28 Jan 2007, 12:06

Romain François a écrit :Est-ce que tu peux aussi poster le genre de graphique que tu veux obtenir, quitte a le generer avec matlab ou a le faire a la main ...


J'ai placé un exemple sur le lien :
ftp://ftp.cirad.fr/pub/group-r/groupe-r/Documents/bar3_ex.bmp

Le code Matlab est tout simple :

bar3(Z)
xlabel('Time')
ylabel('Age class')
zlabel('Percents of the total')

Romain François a écrit :Sinon, est-ce que tu as regardé du côté de rgl ?


rapidement, je n'ai rien vu qui irait dans ce sens mais j'ai peut-être manqué quelque chose.

Renaud : Tu peux simuler n'importe quelle données x,y,z.

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

Messagepar Renaud Lancelot » 28 Jan 2007, 19:03

Matthieu,

Je trouve que le graphe suivant est assez clair et permet peut-être de mieux révéler les stuctures (absentes dans cet exemple !) qu'un graphe 3D:

Code : Tout sélectionner

Data <- expand.grid(x = factor(1:20), y = factor(11:1))
Data$z <- runif(nrow(Data))
library(lattice)
barchart(y ~ z | x, data = Data, horizontal = TRUE,
  scales = list(cex = .7))


Ce serait plus démonstratif avec les données du graphe que tu nous as donné en exemple.

Renaud

Matthieu Lesnoff
Messages : 120
Enregistré le : 29 Nov 2004, 12:41

Messagepar Matthieu Lesnoff » 28 Jan 2007, 20:37

Renaud Lancelot a écrit :Je trouve que le graphe suivant est assez clair et permet peut-être de mieux révéler les stuctures (absentes dans cet exemple !) qu'un graphe 3D:


oui barchart peut être une bonne alternative mais je cherchais une fonction R équivalente de la fonction bar3 de Matlab, qui ne semble donc pas exister .

M.

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

Messagepar Renaud Lancelot » 29 Jan 2007, 08:24

Non, pas que je sache mais c'est assez surprenant dans la mesure où il y a ttes les briques pour le faire (dans package rgl et autres). Je serais prêt à parier que qqu'un a déjà bricolé ça en douce mais ne veut pas le rendre (trop) public peur de se faire allumer par les ayatollahs anti-3D :-)

D'ailleurs, ces fonctions 3D existent dans S-Plus.

Renaud


Retourner vers « Questions en cours »

Qui est en ligne

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