Ce que tu cherche ca serait pas le titre des abscisse et des ordonnées, si c'est le cas c'est set_xlabel("") et set_ylabel("").
Ce que tu cherche ca serait pas le titre des abscisse et des ordonnées, si c'est le cas c'est set_xlabel("") et set_ylabel("").
C'est effectivement cela que je veux. Par contre sur l'aide en ligne, ils utilisent:
Je continue à chercher pour le curseur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 import pylab ... pylab.xlabel("texte1") pylab.ylabel("texte2") ...
Oui mais comme j'utilise pas pylab, mais matplotlib j'ai reussi a faire marché que set_...
Pour le curseur j'ai moi aussi cherché mais pas retrouvé pourtant je suis sur de l'avoir vu dans l'aide. Tu cherche bien a ce que ton curseur ne se deplace que sur les point de ton graphique?
J'utilise moi aussi matplotlib et ça ne marche pas. Mais je viens de me souvenir qu'en fait je l'importais de cette manière:
donc en ne mettant que set_xlabel... ça ne peut à mon avis pas marcher...
Code : Sélectionner tout - Visualiser dans une fenêtre à part from matplotlib import pyplot as plt
C'est exactement ça. Je n'ai pas encore eu le temps de regarder en profondeur l'aide. Je ferai ça ce soir.Pour le curseur j'ai moi aussi cherché mais pas retrouvé pourtant je suis sur de l'avoir vu dans l'aide. Tu cherche bien a ce que ton curseur ne se deplace que sur les point de ton graphique?
@+
LOL, set_xlabel("") tout seule ne marchera pas tu as raison,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 self.a = self.fig.add_subplot(111) self.a.set_xlabel("titre axe")
Ben j'ai toujours pas trouvé la soluce pour le curseur.
Je vais continuer à chercher, mais c'est pas facile surtout qu'il n'y a pas des masses de support dans notre belle langue...
Je regarderai de mon coté et je te dirai si je retrouve l'exemple que j'avais
Bonjour,
j'ai trouver ca dans les demo de matplotlib
test la demo cela conviendra peut etre à ta demande
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 #!/usr/bin/env python """ This example shows how to use matplotlib to provide a data cursor. It uses matplotlib to draw the cursor and may be a slow since this requires redrawing the figure with every mouse move. Faster cursoring is possible using native GUI drawing, as in wxcursor_demo.py """ from pylab import * class Cursor: def __init__(self, ax): self.ax = ax self.lx, = ax.plot( (0,0), (0,0), 'k-' ) # the horiz line self.ly, = ax.plot( (0,0), (0,0), 'k-' ) # the vert line # text location in axes coords self.txt = ax.text( 0.7, 0.9, '', transform=ax.transAxes) def mouse_move(self, event): if not event.inaxes: return ax = event.inaxes minx, maxx = ax.get_xlim() miny, maxy = ax.get_ylim() x, y = event.xdata, event.ydata # update the line positions self.lx.set_data( (minx, maxx), (y, y) ) self.ly.set_data( (x, x), (miny, maxy) ) self.txt.set_text( 'x=%1.2f, y=%1.2f'%(x,y) ) draw() class SnaptoCursor: """ Like Cursor but the crosshair snaps to the nearest x,y point For simplicity, I'm assuming x is sorted """ def __init__(self, ax, x, y): self.ax = ax self.lx, = ax.plot( (0,0), (0,0), 'k-' ) # the horiz line self.ly, = ax.plot( (0,0), (0,0), 'k-' ) # the vert line self.x = x self.y = y # text location in axes coords self.txt = ax.text( 0.7, 0.9, '', transform=ax.transAxes) def mouse_move(self, event): if not event.inaxes: return ax = event.inaxes minx, maxx = ax.get_xlim() miny, maxy = ax.get_ylim() x, y = event.xdata, event.ydata indx = searchsorted(self.x, [x])[0] x = self.x[indx] y = self.y[indx] # update the line positions self.lx.set_data( (minx, maxx), (y, y) ) self.ly.set_data( (x, x), (miny, maxy) ) self.txt.set_text( 'x=%1.2f, y=%1.2f'%(x,y) ) print 'x=%1.2f, y=%1.2f'%(x,y) draw() t = arange(0.0, 1.0, 0.01) s = sin(2*2*pi*t) ax = subplot(111) cursor = Cursor(ax) #cursor = SnaptoCursor(ax, t, s) connect('motion_notify_event', cursor.mouse_move) ax.plot(t, s, 'o') axis([0,1,-1,1]) show()
moi je cherche encore comment afficher des heure sur l'axe des X d'apres mon fichier qui ce trouve page 1.
J'avais aussi trouvé cet exemple. Mais ça ne me convient pas réellement car en fait ce que je veux c'est mettre en place un curseur qui suit scrupuleusement la courbe.
Concernant ton problème, l'heure dans le format que tu donnes ne peut pas être au format float. Peut-être pourrais-tu transformer du coup le format en float. C'est à dire par exemple que 0:0:0 s'écrira 0,0h ou encore 13:30 s'écrira 13,50.
Perso moi c'est la seule soluce que je vois pour le moment. Mais je commence tout juste avec matplotlib. Il y a peut-être donc une autre solution...
Il y a xticks qui peut s'avérer utile
Avec pylab peut-être??? Ou autre... je ne connais pas tout ce qu'il y a.
J'ai regardé les quelques exemples sur pylab et cela à l'air assez facile à utiliser...
Pylab, c'est un sous-module de matplotlib
Ok d'ac. Et toi perso tu utilises quoi alors...
matplotlib, mais je n'ai jamais besoin de curseur
Ok.
J'ai encore une petite question, est-il possible de tracer une courbe ne répondant à aucune règle ou équation. C'est à dire mettre une succession de points ordonnés de gauche à droite et les relier entre eux???
Bonjour,
Jiyuu pour ta question regarde la première page du topic il y a la solution.
Je suppose que tu parles de tes premiers posts. Effectivement comme ça ça marche.
En fait j'avais déjà essayé l'exemple que Matthieu t'as donné. Mon problème est que je dois sur un même graphique mettre plusieurs courbes et pour ça j'avais trouvé un exemple en important seulement pylab. Je voulais donc continuer dans ce sens.
Entre temps j'ai réussi à adapter le code de Matthieu pour me permettre d'afficher plusieurs courbes sur le même graphique. Donc c'est nickel pour moi.
Il ne me reste plus qu'à trouver le moyen de bloquer un curseur sur les courbes...
Impossible de retrouver l'exemple avec le curseur bloquer sur les courbes. Sorry
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager