Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre éclairé
    Données négatives dans le graphique du plugin chart
    Bonjour Imikado

    concernant le plugin chart et particulièrement le modèle line, voici mon graphique qui represente le nombre d'inscription par type et par semaine (j'ai essayé le nombre d’inscription par jour par type mais le graphe n'étais pas conséquent)


    et voici mon code :
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    //---------------------------------------------------line
     
    		$oChartLine=new plugin_chart('LINES',400,200);
    	    $oChartLine->setTextSizeLegend('12px arial');
    	    $oChartLine->setMarginLeft(20);
    	    $oChartLine->setPaddingX(1);
    	    $oChartLine->setPaddingY(20);
     
    	    //coordonnees de la legende
    	    $oChartLine->setCoordLegend(220,10);
     
    	    $oChartLine->setStepX(2);
    	    $oChartLine->setStepY(10);
     
    	    //$oChartLine->addMarkerY(100,'#444');
    	    $oChartLine->setGridY(20,'#444');
     
    	    foreach($tListCountGroupedByDate as $oCount){
    		   $oChartLine->addGroup($oCount->legroupe,$oCount->couleur);
               $oChartLine->addPoint($oCount->lasemaine,$oCount->total);
     
     
    	    }
     
    		$oView->oChartLine=$oChartLine;


    Mes questions sont les suivantes :
    1- Pourquoi j'ai dans mon graphe des valeurs négatives
    2- Comment adapter

    $oChartLine->setStepX(2);
    $oChartLine->setStepY(10);
    pour avoir une bonne représentation par type de personne et par jour ?

    mon code sql :
    Code sql :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select count(*) as total, 
    max(palierpai) as legroupe, 
    week(horo_pai) as lasemaine , 
    max(lacouleur) as couleur 
    from mypaiment 
    join couleurpalier on (couleurpalier.nompalier = mypaiment.palierpai) 
    group by palierpai, horo_pai


    Merci
    vous connaitrez la vérité et la vérité vous affranchira !
    windev/firebird/Mkframework
    vous devez tous l'éssayer impressionnant pour Débutant, Confirmé et Expert
    http://mkframework.com/accueil.html
    http://sqlmanagerx.com/

  2. #2
    Rédacteur

    Bonjour,
    de mémoire je créé un minimum + maximum en fonction d'un pourcentage pour donner un peu plus de volume au graphique

    je vais voir si on peut affiner pour votre cas
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Rédacteur

    IL me faudrait un echantillon de donnes pour donner une réponse

    par exemple les courbes c'est en general une donnée en abscisse et une donnée temporaire (date totale, heure..) en ordonnée



    vous ici en abscisse vous devez avoir le nombre d'inscription, en ordonnée, la semaine ça c'est bon sur le principe

    il me faudrait des données pour comprendre pourquoi votre graphique n'est pas optimal

    j'ai simulé un jeu de donnée et changé le parametrage pour eviter les chiffres negatifs
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    $tListCountGroupedByDate=array(
    			(object)array(
    				'legroupe'=>'ma courbe',
    				'couleur'=>'blue',
    				'lasemaine'=>10,'total'=>20),
     
    				(object)array(
    				'legroupe'=>'ma courbe',
    				'couleur'=>'blue',
    				'lasemaine'=>11,'total'=>30),
     
    				(object)array(
    				'legroupe'=>'ma courbe',
    				'couleur'=>'blue',
    				'lasemaine'=>12,'total'=>17),
     
    				(object)array(
    				'legroupe'=>'ma courbe',
    				'couleur'=>'blue',
    				'lasemaine'=>13,'total'=>12),
    		);
     
    //---------------------------------------------------line
     
    		$oChartLine=new plugin_chart('LINES',400,200);
    	    $oChartLine->setTextSizeLegend('12px arial');
    	    $oChartLine->setMarginLeft(20);
    	    $oChartLine->setPaddingX(1);
    	    $oChartLine->setPaddingY(1);
     
    	    //coordonnees de la legende
    	    $oChartLine->setCoordLegend(220,10);
     
    	    $oChartLine->setStepX(1);
    	    $oChartLine->setStepY(10);
     
    	    //$oChartLine->addMarkerY(100,'#444');
    	    $oChartLine->setGridY(20,'#444');
     
    	    foreach($tListCountGroupedByDate as $oCount){
    		   $oChartLine->addGroup($oCount->legroupe,$oCount->couleur);
               $oChartLine->addPoint($oCount->lasemaine,$oCount->total);
     
     
    	    }


    comme vous le voyez : on joue sur les deux methodes
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
     
    $oChartLine->setPaddingX(1);
    	    $oChartLine->setPaddingY(1);


    pour jouer sur la marge sur l'abscisse et ordonné, ici 1 (vous ne devriez plus avoir de négatif ainsi)
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  4. #4
    Membre éclairé
    Bonsoir Imikado

    Merci pour toutes ses indications je vais plancher dessus et vous faire un retour

    Merci
    vous connaitrez la vérité et la vérité vous affranchira !
    windev/firebird/Mkframework
    vous devez tous l'éssayer impressionnant pour Débutant, Confirmé et Expert
    http://mkframework.com/accueil.html
    http://sqlmanagerx.com/

  5. #5
    Membre éclairé
    Bonjour Imikado

    Je pense avoir compris le fonctionnement, en jouant aussi sur :
    Ici c'est de trouver la bonne répartition pour la représentation des données
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
     
    $oChartLine->setStepX(8);
    $oChartLine->setStepY(1);


    en plus de :
    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
     
    $oChartLine->setPaddingX(1);
    $oChartLine->setPaddingY(1);


    Au final j'ai pu avoir une bonne représentation,
    Ma dernière question es la suivante : Es possible de donner une légende aux axes x et Y sur la graphe (exemple : total inscrits et n° semaine) ?

    Merci
    vous connaitrez la vérité et la vérité vous affranchira !
    windev/firebird/Mkframework
    vous devez tous l'éssayer impressionnant pour Débutant, Confirmé et Expert
    http://mkframework.com/accueil.html
    http://sqlmanagerx.com/

  6. #6
    Rédacteur

    Ah ça non
    sorry, peut etre dans une prochaine version
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Membre éclairé
    OK bien reçu !
    vous connaitrez la vérité et la vérité vous affranchira !
    windev/firebird/Mkframework
    vous devez tous l'éssayer impressionnant pour Débutant, Confirmé et Expert
    http://mkframework.com/accueil.html
    http://sqlmanagerx.com/

###raw>template_hook.ano_emploi###