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
» Dessin 2D: largeur de trait
par papydall Hier à 23:31

» Projet de planétarium virtuel.
par Jean Claude Hier à 21:59

» PanExpress : l'éditeur Panoramic avec création d'objet
par Jean Claude Hier à 20:32

» Animation: Feux de signalisation
par Minibug Hier à 20:28

» Quantité de mémoire utilisée par un exe
par Jack Mar 19 Juin 2018 - 16:39

» Problème avec 'file_load'.
par Pedro Alvarez Lun 18 Juin 2018 - 8:12

» Version instantanée V 0.9.28i20 du 13/06/2018
par jjn4 Sam 16 Juin 2018 - 14:25

» string$(0,chr$(32)) sans erreur
par silverman Ven 15 Juin 2018 - 19:56

» Version instantanée V 0.9.28i19 du 13/06/2018
par Minibug Ven 15 Juin 2018 - 19:14

» Mes souhaits d'amélioration de Panoramic.
par Pedro Alvarez Jeu 14 Juin 2018 - 20:17

» [RÉSOLU] Message d'erreur impossible à indentifier
par Minibug Mer 13 Juin 2018 - 20:52

» Cadre pour image
par Jean Claude Mar 12 Juin 2018 - 16:31

» Créateur d'objets Panoramic
par Minibug Mar 12 Juin 2018 - 14:02

» Planétarium gratuit.
par Jean Claude Sam 9 Juin 2018 - 18:50

» Comment afficher une image sans fond.
par JL35 Sam 9 Juin 2018 - 14:16

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2018
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier

Partagez | 
 

 Courbes statistiques

Aller en bas 
AuteurMessage
JL35



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

MessageSujet: Courbes statistiques   Lun 16 Fév 2015 - 17: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 - 17:08, édité 5 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 16 Fév 2015 - 18: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 : 5487
Age : 64
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Courbes statistiques   Lun 16 Fév 2015 - 18: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 : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 16 Fév 2015 - 19: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 : 5923
Age : 45
Localisation : 77500
Date d'inscription : 18/04/2011

MessageSujet: Re: Courbes statistiques   Lun 16 Fév 2015 - 19: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 : 6275
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Courbes statistiques   Lun 16 Fév 2015 - 21: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 : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 17 Fév 2015 - 0: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 : 6275
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Courbes statistiques   Mar 17 Fév 2015 - 16: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 : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 17 Fév 2015 - 17: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 : 6275
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Courbes statistiques   Mar 17 Fév 2015 - 18: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 : 5952
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 - 18: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 - 18: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 : 8077
Age : 47
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 17 Fév 2015 - 18: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 : 6275
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Courbes statistiques   Mar 17 Fév 2015 - 20: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
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
» [PHPBB3] Afficher les statistiques des membres dans le profil des messages
» 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: