FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» I Love You
par papydall Aujourd'hui à 1:15

» mise a jour calculatrice
par joeeee2017 Aujourd'hui à 1:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Hier à 18:49

» [solved] 3D_LINE How to ?
par papydall Hier à 6:51

» supprimé
par joeeee2017 Dim 15 Oct 2017 - 20:02

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» supprimé
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Courbes statistiques

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
JL35



Nombre de messages : 5952
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Courbes statistiques   Lun 16 Fév 2015 - 19:29

Une petite sub de tracé de courbes statistiques.
En exemple ici la consommation d'eau en m3 depuis l'année 2000, l'explication des paramètres est en commentaire dans la sub.
On donne en paramètre le numéro du picture de tracé, la courbe prendra toute la place disponible du picture (qui est réservé à cet effet et qu'il faut dimensionner en fonction de ce qu'on veut représenter):
Code:
' EXEMPLE D'APPEL DE LA SUB Courbes(): DESSIN DE COURBES STATISTIQUES
DIM p%,Vxmin,Vxmax,Stpx,Vymin,Vymax,Stpy,ch$,coul%

WIDTH 0,820: HEIGHT 0,530: color 0,0,255,255
p% = 1: PICTURE p%: WIDTH p%,800: HEIGHT p%,480
ch$="2000,41,2001,40,2002,58,2003,44,2004,39,2005,35,2006,88,2007,76,2008,92,2009,75"
ch$=ch$+",2010,78,2011,81,2012,85,2013,90,2014,40"
Vxmin = 2000: Vxmax = 2015: Stpx = 1
Vymin = 10: Vymax = 120: Stpy = 10
coul% = 128*65536: ' rouge
Courbes(p%,Vxmin,Vxmax,Stpx,Vymin,Vymax,Stpy,ch$,coul%,"m³")
end
ch$="2000,164.38,2001,166.15,2002,222.82,2003,181.73,2004,168.04,2005,159.77"
ch$=ch$+",2006,407.78,2007,316.13,2008,361.85,2009,328.96,2010,337.89,2011,373.92"
ch$=ch$+",2012,402.06,2013,436.31,2014,199.60"
Vxmin = 2000: Vxmax = 2015: Stpx = 1
vymin = 100: Vymax = 500: Stpy = 50
coul% = 255: ' bleu
Courbes(p%,Vxmin,Vxmax,Stpx,Vymin,Vymax,Stpy,ch$,coul%,"")
END
' ==============================================================================
SUB Courbes(p%,Vxmin,Vxmax,Stpx,Vymin,Vymax,Stpy,ch$,coul%,legy$)
' **** Tracé de courbes statistiques de valeurs dans le picture p% ****
' ****    p%:    n° de l'objet picture réservé au tracé et dimensionné en conséquence
' ****    Vxmin, Vxmax, Stpx: valeurs mini, maxi et pas de progression (graduations) axe des x
' ****    Vymin, Vymax, Stpy: valeurs mini, maxi et pas de progression axe des y
' ****    ch$:   chaîne de données de la forme valx1,valy1,valx2,valy2,... etc.
' ****    coul%: couleur du tracé (de la forme R*65536+G*256+B)
' ****    legy$:  légende éventuelle axe des ordonnées
DIM_LOCAL wp%,hp%,ofx%,ofy%,inx%,iny%,i%,j%,mgh%,mgd%,wr%,hr%,vx,vy,x%,y%,r%,g%,b%
mgh% = 20: mgd% = 20: ' marges haut et droite
ofx% = 50: ofy% = 30: ' distance des axes par rapport aux bords gauche et bas du picture
wr% = WIDTH(p%)-ofx%-mgd%: hr% = HEIGHT(p%)-ofy%-mgh%: ' dimensions disponibles restantes
2D_TARGET_IS p%: 2D_PEN_WIDTH 1: 2D_PEN_COLOR 0,0,0
PRINT_TARGET_IS p%: FONT_NAME p%,"Consolas": FONT_SIZE p%,9: FONT_COLOR p%,0,0,0
FONT_BOLD p%
2D_LINE ofx%,mgh%+hr%,ofx%+wr%,mgh%+hr%: ' axe des x
2D_LINE ofx%,mgh%,ofx%,mgh%+hr%: ' axe des y
i% = (Vxmax-Vxmin)/Stpx: inx% = wr%/i%: ' intervalle des graduations x en pixels
i% = (Vymax-Vymin)/Stpy: iny% = hr%/i%: ' intervalle des graduations y en pixels
2D_PEN_DOT: ' Tracé des axes intermédiaires en pointillés
vx = Vxmin
FOR i% = 0 TO wr% STEP inx%: ' axe des abscisses (x) et légendes
    IF i%>0 THEN 2D_LINE ofx%+i%,mgh%,ofx%+i%,mgh%+hr%
    PRINT_LOCATE ofx%+i%-15,mgh%+hr%+5: PRINT STR$(vx): vx = vx+Stpx
NEXT i%
vy = Vymax
r%=INT(coul%/65536): g%=INT(coul%/256)-r%*256: b%=BIN_AND(coul%,255)
FONT_COLOR p%,r%,g%,b%: ' légendes V
FOR i% = mgh% TO mgh%+hr% STEP iny%: ' axe des ordonnées (y) et légendes
    IF i%<(mgh%+hr%-10) THEN 2D_LINE ofx%,i%,ofx%+wr%,i%
    PRINT_LOCATE ofx%-TEXT_WIDTH(STR$(vy),p%)-5,i%-8: PRINT STR$(vy)
    vy = vy-Stpy
NEXT i%
IF legy$<>"" THEN PRINT_LOCATE ofx%-TEXT_WIDTH(legy$,p%)-5,mgh%+12: PRINT legy$
2D_PEN_WIDTH 3: 2D_PEN_COLOR r%,g%,b%: ' couleur du tracé, épaisseur 3 pixels
i% = INSTR(ch$,","): j%=-1: ' Tracé de la courbe des valeurs successives
WHILE i% > 0
    vx=VAL(LEFT$(ch$,i%-1)): ch$=RIGHT_POS$(ch$,i%+1): i%=INSTR(ch$,",")
    IF i%=0
        vy=VAL(ch$)
    ELSE
        vy=VAL(LEFT$(ch$,i%-1)): ch$=RIGHT_POS$(ch$,i%+1): i%=INSTR(ch$,",")
    END_IF
    IF vx=0 AND j%>-1 THEN EXIT_WHILE
    ' Tracé du trait de jonction au point correspondant aux valeurs vx et vy
    x% = ofx%+(vx-Vxmin)*inx%/Stpx
    y% = mgh%+hr%-(vy-Vymin)*iny%/Stpy
    IF j%=-1
       2D_LINE x%,y%,x%,y%: j% = x%: ' point de départ initial
    ELSE
        2D_POLY_TO x%,y%: ' jonction
    END_IF
    IF i%=0 THEN EXIT_WHILE
END_WHILE
END_SUB
' ==============================================================================
La chaîne de données ch$ contient la liste des coordonnées (valeurs) x et y des points successifs, toutes ces valeurs étant séparées par des virgules (les valeurs pouvant être fractionnaires).

On peut superposer plusieurs courbes (ici en faisant sauter le 'end' de la ligne 11: courbe de consommation + courbe de facture, mais ça peut devenir un peu confus, notamment pour l'échelle des ordonnées), en faisant des appels successifs à la sub:

17/02 j'ai ajouté un paramètre: légende éventuelle (succincte) de l'axe vertical, ici 'm³' (j'ai modifié la 1ère image), et amélioré le positionnement des valeurs de cet axe vertical (avec une police différente).


Dernière édition par JL35 le Mar 17 Fév 2015 - 19:08, édité 5 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 16 Fév 2015 - 20:17

cheers  Très belle présentation JL35 !!!

Je te propose de me faire un petit zip avec un petit *.txt d' explications
et je publie cette Sub sur le site du mag.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5033
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Courbes statistiques   Lun 16 Fév 2015 - 20:45

Ho ! intéressant.

Je pense que cette sub va me servir pour un programme en cours de fabrication.
Cela fait 8 mois que je suis dessus et il est en phase de débogage. J'ai une partie "statistiques" dans ce programme, mais sans courbes, et tu viens de m'ouvrir la voie.

Je vous en ferais profiter, le moment venu...

Grand merci JL35.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 16 Fév 2015 - 21:46

@ Jean Claude,

J' ai hâte de pouvoir torturer ce programme...
Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5857
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Courbes statistiques   Lun 16 Fév 2015 - 21:52

Comme d'hab avec JL35, terriblement efficace. C'est clairement une procédure à garder sous le coude qui peut servir très souvent.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5952
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Courbes statistiques   Lun 16 Fév 2015 - 23:34

Merci les amis.
ygeronimi, tu crois que ça vaut bien le coup de faire un zip pour ça ? il me semble que la sub se suffit à elle-même, elle est simple, les explications des paramètres sont en tête et elle n'est pas bien longue...
D'ailleurs j'ai ajouté quelques commentaires dans la sub ci-dessus.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 17 Fév 2015 - 2:12

Oui, je pense que c' est une procédure à garder en mémoire comme plein d' autres.
Mais si jamais personne alimente la rubrique....
D' autre part, je ne veux pas remplacer les auteurs, donc c' est à eux de m' envoyer
leurs bébés.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5952
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Courbes statistiques   Mar 17 Fév 2015 - 18:56

ygeronimi, je t'ai mis un petit zip chez toi dans Panoramic le Mag contenant Courbes.txt tout bête et Courbes.bas, à toi de voir ce que tu peux en faire... je ne suis pas sûr que les formats te conviennent, mais bon, tu me diras.
J'ai aussi modifié légèrement la sub (paramètre supplémentaire: légende de l'axe vertical).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 17 Fév 2015 - 19:33

La procédure est publiée sur le site.
Dans la rubrique Dessin des procédures.
Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5952
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Courbes statistiques   Mar 17 Fév 2015 - 20:03

Tu vas vite... Dessin des procédures ou Procédures de dessin ? Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5541
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Courbes statistiques   Mar 17 Fév 2015 - 20:12

Citation :
Dessin des procédures ou Procédures de dessin ?  

Ici la réciproque ne marche pas.
Disons qu’il s’agit des procédures qui dessinent des procédures lesquelles dessinent des procédures qui …

Bon, en fait c’est dans Les Procedures, dans  -Categories- Dessin


Dernière édition par papydall le Mar 17 Fév 2015 - 20:21, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 17 Fév 2015 - 20:16

JL35, tu fais de l' auto-pollution...
lol!

Elles est dans la sous rubrique "Dessin" de la rubrique "Procédures"... Suspect
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5952
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Courbes statistiques   Mar 17 Fév 2015 - 22:16

Mille excuses, mais ce n'était pas de la mauvaise foi ! je ne l'avais pas lu comme ça dans ma petite tête.. la rubrique Dessin des procédures... Bon Dieu mais c'est bien sûr ! comme tu l'as dit ci-dessus, tout s'éclaire enfin ! sunny

PS @ygeronimi
Dans la rubrique Procédures du mag j'ai fait une mise à jour de Sub_Des.zip avec des améliorations sous le nom Sub_Des_New.zip, si tu veux tu peux supprimer la version précédente.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Courbes statistiques   

Revenir en haut Aller en bas
 
Courbes statistiques
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» différentes courbes de progression des actions
» Fiche de publicité avec les statistiques du forum tenu à jour automatiquement.
» affichage de l'altitude sur les courbes de niveau
» statistiques mondiales en temps réel
» Cartographie peu précise sur mon Dakota 20

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: