Skip to content
Snippets Groups Projects
Commit c11af374 authored by Hugo Debuyser's avatar Hugo Debuyser
Browse files

Changement de la méthode d'affichage des points sur le graphe et sur les nouveaux points

parent d6364343
Branches
Tags
No related merge requests found
......@@ -62,6 +62,7 @@ public class Iris extends LoadableData{
return petalLength;
}
public String getVariety() { return variety; }
public double getDataType(String axes){
switch (axes){
......
......@@ -17,6 +17,8 @@ import javafx.scene.control.ContextMenu;
import javafx.scene.control.MenuItem;
import javafx.scene.paint.Color;
import javafx.scene.shape.Circle;
import javafx.scene.shape.Rectangle;
import javafx.scene.shape.Shape;
import javafx.stage.Stage;
import java.io.File;
......@@ -71,8 +73,12 @@ public class MainStageView implements Observer {
scatterChart.getData().clear();
XYChart.Series series1 = new XYChart.Series();
series1.setName("Iris");
XYChart.Series series2 = new XYChart.Series();
XYChart.Series series3 = new XYChart.Series();
series1.setName("Setosa");
series2.setName("Versicolor");
series3.setName("Virginica");
//Jalon 1: on verifie que le type de donnée est bien IRIS
if(model.getType() == DataType.IRIS) {
......@@ -83,7 +89,7 @@ public class MainStageView implements Observer {
else{
controller.setAxesSelected("");
// On ajoute la serie au nuage
scatterChart.getData().add(series1);
scatterChart.getData().addAll(series1, series2, series3);
//On recupere les données du model
List<LoadableData> points = new ArrayList<>(model.getDatas());
......@@ -95,20 +101,24 @@ public class MainStageView implements Observer {
XYChart.Data<Double, Double> dataPoint = new XYChart.Data<>(iris.getDataType(actualX),
iris.getDataType(actualY));
dataPoint.setNode(getCircle(iris));
dataPoint.setNode(getForm(iris, new Circle(5)));
series1.getData().add(dataPoint);
if(iris.getVariety().equals("Setosa")){
series1.getData().add(dataPoint);
}else if(iris.getVariety().equals("Versicolor")){
series2.getData().add(dataPoint);
}else if(iris.getVariety().equals("Virginica")){
series3.getData().add(dataPoint);
}
}
}
}
}
private Circle getCircle(Iris iris) {
Circle circle = new Circle(5);
circle.setFill(iris.getColor());
circle.setOnMouseClicked(e -> {
private Shape getForm(Iris iris, Shape form) {
form.setFill(iris.getColor());
form.setOnMouseClicked(e -> {
ContextMenu contextMenu = new ContextMenu();
for(String attributes : iris.getAttributesName()) {
contextMenu.getItems().add(new MenuItem(attributes + " : " + iris.getDataType(attributes)));
......@@ -116,7 +126,7 @@ public class MainStageView implements Observer {
contextMenu.show(root, e.getScreenX(), e.getScreenY());
});
return circle;
return form;
}
......@@ -136,7 +146,7 @@ public class MainStageView implements Observer {
iris.getDataType(actualY)
);
dataPoint.setNode(getCircle(iris));
dataPoint.setNode(getForm(iris, new Rectangle(10, 10)));
if (!scatterChart.getData().isEmpty()) {
XYChart.Series series = (XYChart.Series) scatterChart.getData().get(0);
series.getData().add(dataPoint);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment