[R] Graph d'une matrice

Graph d'une matrice [R] - Divers - Programmation

Marsh Posté le 21-05-2010 à 11:23:42    

Bonjour a vous, amis terriens.
 
Voila, j'ai un problème pour faire un graph d'une matrice en R. En fait la matrice n'est pas importante. Ce qui l'est c'est que j'ai un tableau de valeurs, avec les valeurs pour x, pour y et pour z. Je peux les mettre en forme comme je veux, puisque je les produis. Enfin bref, je veux donc faire un graphique représentant pour chaque point soit une couleur en fonction de la valeurs, soit faire un graphique 3D.
J'espère être clair...
Mon problème est que j'ai essaye avec persp, mais il ne veut pas me prendre mon z :

Code :
  1. persp(x, y, z, col = "lightblue" );
  2. Erreur dans persp.default(x, y, z, col = "lightblue" ) :
  3.   argument 'z' incorrect


 
J'ai essaye avec image :

Code :
  1. image(x, y, z, zlim = c(0,10), col = heat.colors(9));
  2. Erreur dans z - zlim[1L] : argument non numérique pour un opérateur binaire


 
Et un plot normal ne me donne pas ce que je veux.
 
Avec smoothScatter, c'est bizarre, parce que dans un sens ca me donne un graph avec des zones colorées, et si je retourne la matrice avec t(), ca me donne des bandes. Enfin bon, voila, beaucoup de questions...
Merci d'avance de votre aide !

Reply

Marsh Posté le 21-05-2010 à 11:23:42   

Reply

Marsh Posté le 21-05-2010 à 12:09:47    

S'il vous plaiiiiiiiiit, aidez-moiiiiiiiii, je vous donnerai un bonbon !


---------------
Feed
Reply

Marsh Posté le 28-05-2010 à 00:07:31    

J'ai déjà utilisé persp, ça fonctionne très bien :
x tableau une dimension
y idem
z tableau de dimension dim(x) par dim(y).
 
Après il faut ajouter un peu de code pour le rendre plus joli.
Un petit exemple sur un coin de table:
 

Code :
  1. plot3dStd <- function(x,y,z,theta=0,main=NULL,zlim=c(min(z),max(z))){
  2.         ncol <- 50; #number of colors
  3.         couleurs <- tail(topo.colors(trunc(1.4 * ncol)),ncol);
  4.         zcol <- couleurs[trunc((z-zlim[1])/(zlim[2]-zlim[1])*(ncol-1))+1];
  5.         persp(x
  6.                                 ,y
  7.                                 ,z
  8.                                 ,phi=30
  9.                                 ,theta=theta
  10.                                 ,col=zcol
  11.                                 ,ltheta=90
  12.                                 ,lphi=90
  13.                                 ,zlim=zlim
  14.                                 ,ticktype="detailed"
  15.                                 ,main=main
  16.                                 );
  17. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed