[Octave] Problème de représentation graphique
Fermé
Swiss Knight
Messages postés
1956
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2016
-
Modifié par Swiss Knight le 10/05/2011 à 09:42
Swiss Knight Messages postés 1956 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 27 juillet 2016 - 12 mai 2011 à 15:24
Swiss Knight Messages postés 1956 Date d'inscription samedi 22 novembre 2008 Statut Membre Dernière intervention 27 juillet 2016 - 12 mai 2011 à 15:24
A voir également:
- [Octave] Problème de représentation graphique
- Changer carte graphique - Guide
- Octave logiciel - Télécharger - Édition & Programmation
- Graphique excel - Guide
- Graphique sparkline - Guide
- Planification de processeur graphique à accélération matérielle - Guide
2 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
10 mai 2011 à 11:00
10 mai 2011 à 11:00
Bonjour,
j'ai trouvé xlim et ylim qui devraient faire l'affaire. De manière général, je trouve que Octave n'est pas terrible pour faire des graphes (version 3.0). Je fait mes calculs sous octave, puis je sauve les données dans un fichier et je trace avec gnuplot.
pour ta deuxième question, je pense que c'est impossible. Lorsque tu clics avec la souris, tu as des coordonnes sur la vue. Ce point correspond à une droite dans un milieu 3D projeté, cette droite dépendra de l'angle de visualisation. De plus, cette droite peut couper plusieurs point de ta surface.
j'ai trouvé xlim et ylim qui devraient faire l'affaire. De manière général, je trouve que Octave n'est pas terrible pour faire des graphes (version 3.0). Je fait mes calculs sous octave, puis je sauve les données dans un fichier et je trace avec gnuplot.
pour ta deuxième question, je pense que c'est impossible. Lorsque tu clics avec la souris, tu as des coordonnes sur la vue. Ce point correspond à une droite dans un milieu 3D projeté, cette droite dépendra de l'angle de visualisation. De plus, cette droite peut couper plusieurs point de ta surface.
Swiss Knight
Messages postés
1956
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2016
110
10 mai 2011 à 15:35
10 mai 2011 à 15:35
hnmm, je me suis mal exprimé je crois,
en fait c'est pas vraiment de la 3D ; j'ai une matrice M relativement grande
où les colonnes sont les Y et les lignes les X en terme de coordonnées, et les valeurs qu'on lit dans la matrice sont des valeurs d'intensité de quelque chose.
J'aimerai bien pouvoir sélectionner sur l'image plotée de la matrice M certains points intéressants et qu'en cliquant dessus ça me renvoie non seulement X et Y mais aussi la valeur lue dans M (ou la valeur la plus proche) pour ces coordonnées.
en fait c'est pas vraiment de la 3D ; j'ai une matrice M relativement grande
où les colonnes sont les Y et les lignes les X en terme de coordonnées, et les valeurs qu'on lit dans la matrice sont des valeurs d'intensité de quelque chose.
J'aimerai bien pouvoir sélectionner sur l'image plotée de la matrice M certains points intéressants et qu'en cliquant dessus ça me renvoie non seulement X et Y mais aussi la valeur lue dans M (ou la valeur la plus proche) pour ces coordonnées.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
11 mai 2011 à 08:11
11 mai 2011 à 08:11
ok, c'est clair. Mais ça ne change rien, si tu utilises mesh, même avec un angle spécial, pour Octave c'est toujours de la 3D (si c'est bien mesh que tu utilises). Ceci dit, si tu arrive à récupérer les bon X et Y en cliquant, il te suffit de faire ta propre fonction avec ginput et ensuite de chercher la valeur la plus proche dans la matrice. Ce que je fais, si tu lit xi comme coordonnée, l'indice le plus proche dans le vecteur X je l'obtient ainsi :
Sous Octave plutôt que mesh, pour faire des images, j'utilises image ou imagesc, le rendu est un peu meilleur en plus.
[bidon,index]=min(abs(X-xi));index contiendra ta valeur. En faisant pareil avec Y, tu trouves M(index,indey) comme valeur.
Sous Octave plutôt que mesh, pour faire des images, j'utilises image ou imagesc, le rendu est un peu meilleur en plus.
Swiss Knight
Messages postés
1956
Date d'inscription
samedi 22 novembre 2008
Statut
Membre
Dernière intervention
27 juillet 2016
110
Modifié par Swiss Knight le 12/05/2011 à 15:25
Modifié par Swiss Knight le 12/05/2011 à 15:25
salut.
j'utilise contourf(X,Y,Matrice'); et pas mesh.
Avec [xx,yy]=ginput(3); je récupère les trois couples de coordonnées xx,yy de mes trois clics.
le problème c'est que ce sont des coordonnées exactes (double) alors que celles de la matrice sont des nombres entiers.
Je pourrais lui dire d'aller "à la coordonnée la plus proche selon X et à celle la plus proche selon Y et me retourner la valeur lue dans Matrice' mais suivant comment le logiciel créée les courbes de niveau, j'ai peut-être meilleur temps de lui demander de me retourner la valeur la plus haute des 4 entourant les coordonnées d'un clic...
Je vais voir si je m'en sors avec ça, mais c'est pas gagné.
j'utilise contourf(X,Y,Matrice'); et pas mesh.
Avec [xx,yy]=ginput(3); je récupère les trois couples de coordonnées xx,yy de mes trois clics.
le problème c'est que ce sont des coordonnées exactes (double) alors que celles de la matrice sont des nombres entiers.
Je pourrais lui dire d'aller "à la coordonnée la plus proche selon X et à celle la plus proche selon Y et me retourner la valeur lue dans Matrice' mais suivant comment le logiciel créée les courbes de niveau, j'ai peut-être meilleur temps de lui demander de me retourner la valeur la plus haute des 4 entourant les coordonnées d'un clic...
Je vais voir si je m'en sors avec ça, mais c'est pas gagné.