- | ## Class Plot Component Plot Cette classe est la base des courbes et histogrammes sur Artichow. Les classes suivantes dérivent de Plot : LinePlot BarPlot ScatterPlot Retourner voir la liste de toutes les classes ## Méthodes et propriétés const string LEFT := left const string RIGHT := right const string TOP := top const string BOTTOM := bottom const string BOTH := both public array $datay public array $datax public Grid $grid public Axis $xAxis public Axis $yAxis protected bool $xAxisZero := TRUE public __construct() public reduce(number $number) public setXAxis(string $axis) public setYAxis(string $axis) public setXAxisZero(bool $zero) public setYAxisZero(bool $zero) public setYMin(float $value) public setYMax(float $value) public setXMin(float $value) public setXMax(float $value) ## Documentation const string LEFT := left Dessine l'axe des abscisses sur la gauche du graph. Remonter const string RIGHT := right Dessine l'axe des abscisses sur la droite du graph. Remonter const string TOP := top Dessine l'axe des ordonnées sur le haut du graph. Remonter const string BOTTOM := bottom Dessine l'axe des ordonnées sur le bas du graph. Remonter const string BOTH := both Dessine l'axe des abscisses (ou des ordonnées) sur la gauche et la droite (ou le haut et la bas) du graph. Remonter public array $datay Les valeurs de l'axe des Y. Remonter public array $datax Les valeurs de l'axe des X. Remonter public Grid $grid Représente la grille de fond du composant. Remonter public Axis $xAxis L'axe des abscisses Remonter public Axis $yAxis L'axe des ordonnées Remonter protected bool $xAxisZero := TRUE Est-ce le ou les axes des abscisses doivent être centrés sur zéro ? Remonter public __construct() Construit le composant. Remonter public reduce(number $number) Réduit le nombre de valeurs à afficher sur le composant à $number. Cette fonctionnalité est utile dans le cas où vous souhaitez afficher plus de 400 ou 500 valeurs sur un graphique. En effet, au delà d'un certain nombre de valeurs, toutes ne seront pas affichées et le temps de création du graphique sera très élevé. La solution est de réduire le nombre de valeurs sur votre graphique, ce que permet cette fonction. Le processus de réduction se fait à travers un système de moyennes, afin de garder une courbe identique à celle que vous auriez eu en affichant toutes les valeurs. Le nombre $number que vous spécifiez en paramètre est un nombre maximal. Pas plus de $number valeurs seront affichées sur le graphique. En revanche, dans certains cas, il est possible qu'un nombre inférieur de valeurs soient affichées. Voici un exemple d'utilisation de cette fonctionnalité :
      <?php

      require_once "LinePlot.class.php";

      $graph = new Graph(400, 400);

      $datay = array();
      $datax = array();

      // On créé un tableau avec 3000 valeurs
      for($i = 1; $i <= 3000; $i++) {
      	$datay[] = log($i);
      	$datax[] = $i;
      }

      $plot = new LinePlot($datay);
      $plot->xAxis->setLabelText($datax);
      $plot->xAxis->label->setAngle(90);

      // On réduit le nombre de valeurs à afficher sur le graphique à 30,
      // soit 100 fois moins
      $plot->reduce(30);

      // On affiche le graphique
      // Les valeurs de l'axe des X ont été automatiquement mises à jour
      $graph->add($plot);
      $graph->draw();

      // Finalement, la courbe représentative de log(x) apparaît très correctement

      ?>
Remonter public setXAxis(string $axis) Change l'axe de abscisses qui sera affiché sur l'image. Cela peut être Plot::TOP, Plot::BOTTOM ou Plot::BOTH. Remonter public setYAxis(string $axis) Change l'axe de ordonnées qui sera affiché sur l'image. Cela peut être Plot::LEFT, Plot::RIGHT ou Plot::BOTH. Remonter public setXAxisZero(bool $zero) Précise si le ou les axes des abscisses doivent être centrés sur le zéro de l'axe des ordonnées. Comme il peut y avoir plus axes des ordonnées, l'axe de gauche est choisi en premier pour sélectionner la valeur du zéro. S'il n'existe pas, alors on utilise l'axe de droite. Remonter public setYAxisZero(bool $zero) Précise si le ou les axes des ordonnées doivent être centrés sur le zéro de l'axe des abscisses. Comme il peut y avoir plus axes des abscisses, l'axe du bas est choisi en premier pour sélectionner la valeur du zéro. S'il n'existe pas, alors on utilise l'axe du haut. Remonter public setYMin(float $value) Force la valeur minimale de l'axe des ordonnées à $value. L'appel à cette méthode désactive la gestion automatique de l'axe des ordonnées. Voir aussi : Plot::setYMax() Axis::auto() Remonter public setYMax(float $value) Force la valeur maximale de l'axe des ordonnées à $value. L'appel à cette méthode désactive la gestion automatique de l'axe des ordonnées. Voir aussi : Plot::setYMin() Axis::auto() Remonter public setXMin(float $value) Force la valeur minimale de l'axe des abscisses à $value. Voir aussi : Plot::setXMax() Remonter public setXMax(float $value) Force la valeur maximale de l'axe des abscisses à $value. Voir aussi : Plot::setXMin() Remonter |