Added Equipment used the most by Routes

main
YaFedImYaEatIm 9 years ago
parent 99ccb86756
commit c63a846da1

@ -19,7 +19,7 @@ import java.util.*;
import static javafx.application.ConditionalFeature.FXML;
/**
* Created by Gondr on 2/10/2016.
* Created by fwy13 on 2/10/2016.
*/
public class AirlineGraphController extends Controller{
private Dataset dataset;

@ -20,7 +20,7 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
/**
* Created by Gondr on 2/10/2016.
* Created by fwy13 on 2/10/2016.
*/
public class AirportGraphController extends Controller{
private Dataset dataset;

@ -11,6 +11,7 @@ import javafx.scene.layout.VBox;
import seng202.group9.Controller.Dataset;
import seng202.group9.Controller.SceneCode;
import seng202.group9.Controller.Session;
import seng202.group9.Core.Airline;
import seng202.group9.Core.Airport;
import seng202.group9.Core.Route;
@ -20,7 +21,7 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
/**
* Created by Gondr on 2/10/2016.
* Created by fwy13 on 2/10/2016.
*/
public class RouteGraphController extends Controller{
private Dataset dataset;
@ -92,6 +93,7 @@ public class RouteGraphController extends Controller{
loadSourceGraph();
loadInCountryGraph();
loadOutCountryGraph();
loadEquipGraph();
}
public void loadAirlineGraph(){
@ -288,6 +290,43 @@ public class RouteGraphController extends Controller{
outCountryGraph.getData().add(series);
}
public void loadEquipGraph(){
equipGraph.setTitle("Top 10 Equipment used by Routes");
equipXAxis.setLabel("Equipment");
XYChart.Series<String,Integer> series = new XYChart.Series<>();
series.setName("Number of Equipment");
HashMap<String, Integer> equipmentList = new HashMap<>();//equipment, count
for (Route route: routesFiltered){
String equipment[] = route.getEquipment().split(" ");
for (String equip : equipment){
if (equipmentList.containsKey(equip)){
equipmentList.put(equip, equipmentList.get(equip) + 1);
}else{
equipmentList.put(equip, 1);
}
}
}
int length = 10;
if (equipmentList.size() < 10){
length = equipmentList.size();
}
for (int i = 0 ; i < length; i ++) {
int max = 0;
String maxEquip = "";
for (String equip: equipmentList.keySet()){
if (equipmentList.get(equip) > max){
max = equipmentList.get(equip);
maxEquip = equip;
}
}
series.getData().add(new XYChart.Data<String, Integer>(maxEquip, max));
equipmentList.remove(maxEquip);
}
equipGraph.getData().add(series);
}
public void goToRawData(){
replaceSceneContent(SceneCode.ROUTE_RAW_DATA);
}

Loading…
Cancel
Save