Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

matplotlib

3 réponses
Avatar
Nicolas
Bonjour,
malgré tous mes efforts, matplotlib reste bien confus pour moi...
en mode interactif, pas de problème, c'est comme matlab.
Ce qui m'intéresserait par contre serait de l'intégrer à un programme
écrit en WxPython, en utilisant l'anti-aliasing ; mais je n'y vois pas
très clair dans l'utilisation de backend_wxagg.

J'utilise dans mon programme la classe wx.Notebook pour créer des onglets.
Dans chaque onglet, j'avais une instance de wx.Panel dans laquelle je
dessinais.
self.AddPage(self.nouveau_panel, 'Géométrie dynamique')
Tout ça marchait bien, mais j'aimerais maintenant utiliser matplotlib
pour dessiner dans chaque onglet.
J'imagine que la classe qui va jouer le rôle de wx.Panel est la classe
FigureCanvasWxAgg, mais il me demande pour l'initialiser un objet Figure.

"Methods defined here:

__init__(self, parent, id, figure)
Initialise a FigureWx instance.

- Initialise the FigureCanvasBase and wxPanel parents.
- Set event handlers for:
EVT_SIZE (Resize event)
EVT_PAINT (Paint event)"

Je n'y comprends rien, cet objet Figure est dans quelle librairie ??
Je dois construire la figure avant la fenêtre ?

Tous les tutoriels que j'ai lu parlent du mode interractif preque
exclusivement.

Quant aux exemples fournis, ils n'utilisent pas la classe
FigureCanvasWxAgg, mais la classe wx.Panel !?

Quelqu'un pourrait-il me donner un exemple qui trace la fonction sin sur
[-3;3] par exemple avec une fenêtre de [-4;4] en abcisse, [-2;2] en
ordonnées, , et la droite d'équation y=2x-3 dans la même fenêtre, et pas
en mode interractif ??

3 réponses

Avatar
yves
On Mon, 11 Apr 2005 11:33:41 +0200, Nicolas
wrote:

Bonjour,

Tous les tutoriels que j'ai lu parlent du mode interractif preque
exclusivement.


Je ne connais absolument pas wxpython, du coup je n'ai pas compris
grand chose à ton message.

par contre, avec matplotlib il est facile de produire un fichier image
d'un graphique (par exemple un .png).
N'y a t'il pas de solution à ton problème en passant par un fichier
image ?

--
Yves

Avatar
yves
On Mon, 11 Apr 2005 11:09:02 GMT,
(Yves) wrote:

avec matplotlib il est facile de produire un fichier image
d'un graphique (par exemple un .png).


par exemple:


############################
from pylab import *

def tadroite():
xbas,xhaut,ybas,yhaut = -4,4,-2,2
x = arange(-4,5)
plot(x,(2*x - 3),'b')
axis([xbas,xhaut,ybas,yhaut])

tadroite()
grid(True)
savefig('aa.png')
##############################

--
Yves

Avatar
Nicolas Pourcelot
Merci pour ta réponse,
Le problème, c'est que mon dessin doit être modifié en temps réel, je ne
peux pas m'amuser à le compresser en PNG sans arrêt ! ;-)


On Mon, 11 Apr 2005 11:09:02 GMT,
(Yves) wrote:


avec matplotlib il est facile de produire un fichier image
d'un graphique (par exemple un .png).



par exemple:


############################
from pylab import *

def tadroite():
xbas,xhaut,ybas,yhaut = -4,4,-2,2
x = arange(-4,5)
plot(x,(2*x - 3),'b')
axis([xbas,xhaut,ybas,yhaut])

tadroite()
grid(True)
savefig('aa.png')
##############################