PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Ne pas faire apparaître des series dans un histogramme ?
Ne pas faire apparaître des series dans un histogramme ?
Iniciado por Denis, 26,sep. 2023 06:48 - 2 respuestas
Miembro registrado
181 mensajes
Publicado el 26,septiembre 2023 - 06:48
Bonjour,
Je dois afficher un histogramme pour 52 semaines et 8 activités
Il se peut que sur les 8 activités, seulement 3 soient utilisées par le client.
J'ai donc créé un champ Graphe qui affiche les grandes lignes du graphe mais ne précise aucune source de données.
Je remplis ensuite le graphe par programmation en "éliminant" les activités non utilisées (masquage des colonnes du tableau source)

Or, sur l'axe des abcisses, je me retrouve avec des espaces vides pour chaque semaine, comme si les activités masquées étaient quand même traitées.

Comment résoudre ce problème d'affichage OU comment supprimer une série de données ?
Je tourne en rond depuis hier sur ce truc qui doit être tout simple.

Merci





//--- VARIABLES
i est un entier
xCol_Base est une chaîne
xNom_Col est une chaîne
xType_Exercice est une chaîne
xY_Max est un entier

//--- EFFACER LE GRAPHE
grEffaceDessin(Graphe_EXERCICE)

//--- AFFECTATIONS
xCol_Base = "Table_STAT_ACTIVITES_SEMAINE.ACTIV_"

//--- 8 EXERCICES POSSIBLES SUR 52 SEMAINES
POUR J = 1 À 8

//-- INDIRECTION SUR LA COLONNE
xNom_Col = xCol_Base+NumériqueVersChaîne(J)

//--- SI LA COLONNE EST VISIBLE
SI {xNom_Col,indChamp}..Visible = Vrai ALORS

//--- ON RECUPERE LE NOM DE L'EXERCICE
xType_Exercice = {xNom_Col,indChamp}..Libellé

//--- AFFECTATION DE LA LEGENDE A LA SERIE
Graphe_EXERCICE[j].Légende = xType_Exercice

//--- COULEUR DE LA SERIE
SI xLangue = 5 ALORS HLitRecherche(EXERCICES,EXERCICE_TYPE_FR,xType_Exercice)
SI xLangue = 3 ALORS HLitRecherche(EXERCICES,EXERCICE_TYPE_EN,xType_Exercice)
grCouleurSérie(Graphe_EXERCICE,j,EXERCICES.EXERCICE_COULEUR)

//--- ON RECUPERE LES DONNEES DES 52 SEMAINES
POUR i = 1 À 52
TableSelectPlus(Table_STAT_ACTIVITES_SEMAINE,i)
Graphe_EXERCICE[j][i] = {xNom_Col,indChamp}
SI {xNom_Col,indChamp} > xY_Max ALORS xY_Max = {xNom_Col,indChamp}
FIN

FIN

FIN
TableSelectPlus(Table_STAT_ACTIVITES_SEMAINE,1)


//--- VALEUR MAX DE L'AXE DES Y
grOrigine(Graphe_EXERCICE,0,xY_Max+10,grOrdonnée)

//--- Dessin du graphe
grDessine(Graphe_EXERCICE)
Miembro registrado
950 mensajes
Publicado el 26,septiembre 2023 - 18:47
Bonjour,
Denis a écrit :
J'ai donc créé un champ Graphe qui affiche les grandes lignes du graphe mais ne précise aucune source de données.

A première vue, j'ai l'impression que c'est justement dans ces grandes lignes que survient le problème.
Pour en avoir le cœur net, ne bouclez pas :
POUR J = 1 À 8
mais
POUR J = 1 À "Nombre de colonnes visibles"
Si le problème subsiste, il faudra revoir les grandes lignes du graphe.

Cdlt
Miembro registrado
181 mensajes
Publicado el 27,septiembre 2023 - 12:47
Bonjour Cédric et merci pour votre réponse
J'ai déjà testé cette solution, sans succès : mon tableau doit impérativement contenir les 8 colonnes
Au départ, j'avais construit le graphe avec 8 séries de données en pensant qu'on pouvait, au besoin, supprimer une série de données, mais ma mémoire doit me jouer des tours.
Je vais construire mon graphe par programmation, complètement.
Bonne journée