Class SVGBuilder

java.lang.Object
ecoparasite.svg.SVGBuilder

public class SVGBuilder extends Object
Classe qui permet de construire les éléments présents sur le SVG. Axes, Points, Regression, Ticks.
  • Constructor Details

  • Method Details

    • getPointsX

      public ArrayList<Double> getPointsX()
    • getPointsY

      public ArrayList<Double> getPointsY()
    • getOffsetX

      public Double getOffsetX()
    • getOffsetY

      public Double getOffsetY()
    • getResizer

      public SVGResizing getResizer()
      Permet d'obtenir un resizer ou bien le crée s'il n'existe pas déjà.
      Returns:
    • setResizer

      public void setResizer(SVGResizing resizer)
    • buildAll

      public ArrayList<Element> buildAll(String XLabel, String YLabel, HashSet<ValeursXY> points, double A, double B)
      Permet de tout construire d'un seul coup.
      Parameters:
      XLabel - Le nom de l'axe X.
      YLabel - Le nom de l'axe Y.
      points - Les points pour le nuage de points.
      A - Le coefficient A de la regression
      B - Le coefficient B de la regression
      Returns:
      Une liste d'éléments pour la génération du SVG.
    • buildAxes

      public ArrayList<Element> buildAxes(String XLabel, String YLabel)
      Permet de construire les axes au format SVG.
      Parameters:
      XLabel - Le nom de l'axe X.
      YLabel - Le nom de l'axe Y.
      Returns:
      La liste d'éléments SVG pour les axes.
    • buildXTicks

      public ArrayList<Element> buildXTicks()
      Permet de construire les batons de l'axe X. Utilise this.pointsX
      Returns:
      La liste d'éléments des points X.
    • buildYTicks

      public ArrayList<Element> buildYTicks()
      Permet de construire les batons de l'axe Y. Utilise this.pointsY
      Returns:
      La liste d'éléments des points Y.
    • buildPoints

      public ArrayList<Element> buildPoints(HashSet<ValeursXY> points)
      Construire le nuage de points sur le SVG.
      Parameters:
      points - La liste des points.
      Returns:
      La liste des éléments pour le nuage de points SVG.
    • buildRegression

      public ArrayList<Element> buildRegression(double A, double B)
      Construire la droite de regression linéaire.
      Parameters:
      A - Coefficient a
      B - Coefficient B
      Returns:
      La liste des éléments pour la droite.
    • calcPointAxes

      public static HashMap<String, ArrayList<Double>> calcPointAxes(HashSet<ValeursXY> h)
      Permet de renvoyer des valeurs "clean" pour l'affichage des axes
      Parameters:
      h - Contient les Coordonnées de chacun des points de nos données
      Returns:
      une HashMap de String et de Hashset de Double. Avec la String "AxeX", un Hashset de Double contenant les valeurs des gradations de l'axe X Avec la String "AxeY", un Hashset de Double contenant les valeurs des gragations de l'axe Y Avec la String "OffsetX", un Hashset de Double contenant uniquement la valeur de l'offset des points par rapport à l'axe X Avec la String "OffsetY", un Hashset de Double contenant uniquement la valeur de l'offset des points par rapport à l'axe Y
    • niceStep

      public static double niceStep(double range, int targetTicks)
      Fonction de calcul d'un step rond Cette fonction est basé sur une idée demandée à ChatGPT
      Parameters:
      range - écart entre la plus petite et la plus grande valeur
      targetTicks - nombre de gradation ideal
      Returns:
    • roundMin

      public static double roundMin(double value, double step)
      retourne une valeur arrondi "joli" adapter à un graphique
      Parameters:
      value -
      step -
      Returns:
    • roundMax

      public static double roundMax(double value, double step)