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
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par pascal10000 Aujourd'hui à 17:49

» Cartes de voeux, menus, etc.
par JL35 Aujourd'hui à 17:48

» Mah-Jong européen new-look
par jjn4 Aujourd'hui à 15:48

» a l'aide klaus
par Minibug Aujourd'hui à 11:42

» KGF_dll - nouvelles versions
par Minibug Aujourd'hui à 1:48

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Aujourd'hui à 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» API Windows
par Klaus Jeu 7 Déc 2017 - 21:03

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

» j'ai un petit problème
par JL35 Mer 6 Déc 2017 - 21:58

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Courbes statistiques

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



Nombre de messages : 6018
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 : 8002
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 : 5086
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 : 8002
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 : 5863
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 : 6018
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 : 8002
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 : 6018
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 : 8002
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 : 6018
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 : 5613
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 : 8002
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 : 6018
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: