IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Bibliothèques et frameworks PHP Discussion :

[JpGraph] Problème avec Spline & LinePlot, quand y=0, LinePlot est négatif ?


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Par défaut [JpGraph] Problème avec Spline & LinePlot, quand y=0, LinePlot est négatif ?
    Bonjour,

    J'ai petit soucis avec le tracé d'une courbe avec la librairie JPGraph. En effet, celle-ci m'affiche des valeurs négatives quand une donnée est à 0.

    Voici mon code :
    Code : 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
    47
    48
     
    <?php
    	include('jpgraph.php');
    	include('jpgraph_date.php');
    	include('jpgraph_regstat.php');
    	include('jpgraph_line.php');
     
    	function FormatXLabel($valeur)
    	{
    		return date("H:i\nd/m",$valeur);
    	}
     
    	function FormatYLabel($valeur)
    	{
    		return sprintf("%01.1f",$valeur);
    	}
     
    	//----------------------------------------------------------------------------------------------------	
    	$ventvitesse_datax = array(1219282980, 1219283040, 1219283100, 1219283160, 1219283220, 1219283280, 1219283340, 1219283400, 1219283460, 1219283520, 1219283580, 1219283640, 1219283700, 1219283760, 1219283820, 1219283880, 1219283940, 1219284000, 1219284060, 1219284120, 1219284180, 1219284240, 1219284300, 1219284360, 1219292340, 1219292400, 1219292460, 1219292520, 1219292580, 1219292640, 1219292700, 1219292760, 1219292820, 1219292880, 1219292940, 1219293000, 1219293060, 1219293120, 1219293180, 1219293240, 1219293300, 1219293360, 1219293420, 1219293480, 1219293540, 1219293600, 1219293660, 1219293720, 1219293780);
    	$ventvitesse_datay = array(2.52, 2.52, 0, 3.96, 0, 0, 2.52, 0, 0, 0, 0, 0, 0, 3.96, 1.08, 3.24, 1.8, 0, 0, 0, 1.44, 2.52, 1.44, 0, 4.68, 3.24, 0, 7.56, 3.96, 13.68, 3.24, 7.56, 2.88, 6.48, 7.56, 2.88, 5.4, 3.6, 3.24, 2.52, 2.52, 2.16, 2.52, 4.68, 4.68, 6.48, 0, 5.04, 22.68);
    	//----------------------------------------------------------------------------------------------------
     
    	$ventvitesse = new Graph(540,350);
    	$ventvitesse->SetAlphaBlending();
    	$ventvitesse->SetFrame(true,'white',1);
    	$ventvitesse->SetMarginColor('white');
    	$ventvitesse->SetMargin(65,5,45,75);
    	$ventvitesse->SetScale("datlin");
    	$ventvitesse->xaxis->SetLabelFormatCallback('FormatXLabel');
    	$ventvitesse->xaxis->SetTextLabelInterval(2);
    	$ventvitesse->xaxis->SetPos('min');
    	$ventvitesse->xgrid->Show();
    	$ventvitesse->xaxis->scale->SetTimeAlign(MINADJ_1);
    	$ventvitesse->yaxis->SetLabelFormatCallback('FormatYLabel');
    	$ventvitesse->yaxis->title->Set("Vitesse du Vent (km/h)");
    	$ventvitesse->yaxis->SetTitleMargin(50);
     
    	$ventvitesse_spline = new Spline($ventvitesse_datax,$ventvitesse_datay);
    	list($ventvitesse_newx,$ventvitesse_newy) = $ventvitesse_spline->Get(50);
    	$ventvitesse_courbe = new LinePlot($ventvitesse_newy,$ventvitesse_newx);
     
    	$ventvitesse_courbe->SetColor('dodgerblue');
    	$ventvitesse_courbe->SetFillColor('dodgerblue@0.4');
     
    	$ventvitesse->Add($ventvitesse_courbe);
     
    	$ventvitesse->Stroke();
    ?>
    Et voici le résultat :


    Pour essayer d'y remédier, j'ai essayé d'appliquer un abs() à ma valeur puis de configurer le graphique de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ventvitesse->yscale->SetAutoMin(0);
    Mais sans succès...

    Savez-vous comment faire pour corriger ce bug ?

    Merci,
    Mathieu

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 472
    Par défaut
    Bonjour,

    J'ai essayé de mettre une échelle manuelle, à savoir avec : SetScale.

    Voici mon code :
    Code : 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
    47
    48
    49
    50
     
    <?php
    	include('configuration.php');
     
    	include(PATH_JPGRAPH.'jpgraph.php');
    	include(PATH_JPGRAPH.'jpgraph_date.php');
    	include(PATH_JPGRAPH.'jpgraph_regstat.php');
    	include(PATH_JPGRAPH.'jpgraph_line.php');
     
    	function FormatXLabel($valeur)
    	{
    		return date("H:i\nd/m",$valeur);
    	}
     
    	function FormatYLabel($valeur)
    	{
    		return sprintf("%01.1f",$valeur);
    	}
     
    	//----------------------------------------------------------------------------------------------------	
    	$ventvitesse_datax = array(1219282980, 1219283040, 1219283100, 1219283160, 1219283220, 1219283280, 1219283340, 1219283400, 1219283460, 1219283520, 1219283580, 1219283640, 1219283700, 1219283760, 1219283820, 1219283880, 1219283940, 1219284000, 1219284060, 1219284120, 1219284180, 1219284240, 1219284300, 1219284360, 1219292340, 1219292400, 1219292460, 1219292520, 1219292580, 1219292640, 1219292700, 1219292760, 1219292820, 1219292880, 1219292940, 1219293000, 1219293060, 1219293120, 1219293180, 1219293240, 1219293300, 1219293360, 1219293420, 1219293480, 1219293540, 1219293600, 1219293660, 1219293720, 1219293780);
    	$ventvitesse_datay = array(2.52, 2.52, 0, 3.96, 0, 0, 2.52, 0, 0, 0, 0, 0, 0, 3.96, 1.08, 3.24, 1.8, 0, 0, 0, 1.44, 2.52, 1.44, 0, 4.68, 3.24, 0, 7.56, 3.96, 13.68, 3.24, 7.56, 2.88, 6.48, 7.56, 2.88, 5.4, 3.6, 3.24, 2.52, 2.52, 2.16, 2.52, 4.68, 4.68, 6.48, 0, 5.04, 22.68);
    	//----------------------------------------------------------------------------------------------------
     
    	$ventvitesse = new Graph(540,350);
    	$ventvitesse->SetAlphaBlending();
    	$ventvitesse->SetFrame(true,'white',1);
    	$ventvitesse->SetMarginColor('white');
    	$ventvitesse->SetMargin(65,5,45,75);
    	$ventvitesse->SetScale("datlin",0,23);
    	$ventvitesse->xaxis->SetLabelFormatCallback('FormatXLabel');
    	$ventvitesse->xaxis->SetTextLabelInterval(2);
    	$ventvitesse->xaxis->SetPos('min');
    	$ventvitesse->xgrid->Show();
    	$ventvitesse->xaxis->scale->SetTimeAlign(MINADJ_1);
    	$ventvitesse->yaxis->SetLabelFormatCallback('FormatYLabel');
    	$ventvitesse->yaxis->title->Set("Vitesse du Vent (km/h)");
    	$ventvitesse->yaxis->SetTitleMargin(50);
     
    	$ventvitesse_spline = new Spline($ventvitesse_datax,$ventvitesse_datay);
    	list($ventvitesse_newx,$ventvitesse_newy) = $ventvitesse_spline->Get(50);
    	$ventvitesse_courbe = new LinePlot($ventvitesse_newy,$ventvitesse_newx);
     
    	$ventvitesse_courbe->SetColor('dodgerblue');
    	$ventvitesse_courbe->SetFillColor('dodgerblue@0.4');
     
    	$ventvitesse->Add($ventvitesse_courbe);
     
    	$ventvitesse->Stroke();
    ?>
    Et le résultat :


    Je fini donc par croire que c'est un bug de la fonction Spline de JPGraph...

    Qu'en pensez-vous ?

    Que faire pour y remédier ?

    Merci,
    Mathieu

Discussions similaires

  1. [JpGraph] Problème avec l'axe des abscisses ?
    Par MaTHieU_ dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 19/07/2006, 22h23
  2. [JpGraph] Problème avec jpgraph
    Par darkphenx dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 18/07/2006, 19h02
  3. [JpGraph] Problème avec JpGraph
    Par Flobynaldo dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 24/05/2006, 11h07
  4. [CSS] problème avec menu (en arbre) quand il y a un lien #(anchor)
    Par tchoune dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 15/05/2006, 22h44
  5. [JpGraph] problème avec header
    Par ciesco dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 08/01/2006, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo