Bonjour,

Je travail actuellement sur un programme générant des "capability plot".

Sans rentrer dans les détails, le programme à pour objectif de calculer la puissance motrice nécessaire à un navire pour maintenir sa position face à un environnement donné. Cette puissance est calculée pour différentes incidences de vagues (venant de l'avant, de côté, etc...). Le résultat attendu est sous la forme d'un graphique polaire que l'on nomme "Capability plot" reflettant simplement la capacité du navire a tenir sa position.

Mon programme fonctionne bien et je m'attaque à la partie "graphique" et notamment au graph.

Voici un lien menant vers un exemple typique de ce vers quoi j'aimerais aller:

http://www.medeadesign.com/wp-conten...ility_plot.jpg

Je n'ai pas de réelle question à vous poser. Je cherche plutôt de bons tutos ou une bonne doc (simple si possible, je ne suis pas programmeur) pour m'aider à tracer des graphs polaires avec matplotlib.

J'ai pas mal fouillé le net sur la question, mais je dois dire que mes recherches n'ont pas donné grand chose si ce n'est l'excellent site suivant:

http://www.loria.fr/~rougier/teaching/matplotlib/

Je suis capable de tracer un graph polaire, mais je ne sais pas faire les choses suivantes:
- Placer un "cartouche" à gauche contenant des infos sur les inputs
- Choisir l'emplacement des ticks (par défaut ils ne sont pas sur un axe vertical ni horizontal...)
- Choisir le nom des labels

Bref, mis à part tracer basiquement le graph, je ne sais rien faire!



Merci pour votre éventuelle aide!


ju


Edit:

Voici quelques astuces trouvées (ça pourrait aider quelqu'un):

Définition du graph:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sp = plt.subplot(1, 1, 1, projection='polar')
Changer l'orientation du graph:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sp.set_theta_zero_location('N')
Changer la direction angulaire (sens horaire ou anti-horaire):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sp.set_theta_direction(-1)
Définir manuellement les bornes (rayon min et max), ici de 0 à 100:
Définir le "pas" pour les labels ici de 0 à 100 par pas de 20:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sp.set_yticks(np.arange(0,120,20))
Choisir le pas angulaire et le nom des labels:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
# AngleList: liste des angles en degré
# LabelList: liste des labels (strings) associés aux angles
sp.set_thetagrids(AngleList,LabelList, fmt='%d', frac=1.1)
Placer du texte:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
# angle: Position angulaire en radian ou sera placé le texte
# radius: Position radiale ou sera placé le texte
plt.text(angle,radius,'text')
Voilà... Je continue mes recherches sur le sujet.