List of usage examples for javafx.scene.chart NumberAxis NumberAxis
public NumberAxis()
From source file:org.jacp.demo.components.ContactChartViewComponent.java
protected BarChart<String, Number> createChart() { this.xAxis = new CategoryAxis(); this.yAxis = new NumberAxis(); this.yAxis.setTickLabelFormatter(new NumberAxis.DefaultFormatter(this.yAxis, "$", null)); this.bc = new BarChart<String, Number>(this.xAxis, this.yAxis); this.bc.setAnimated(true); this.bc.setTitle(" "); this.xAxis.getStyleClass().add("jacp-bar"); this.yAxis.getStyleClass().add("jacp-bar"); this.xAxis.setLabel("Year"); this.yAxis.setLabel("Price"); this.series1 = new XYChart.Series<String, Number>(); this.series1.setName("electronic"); this.series2 = new XYChart.Series<String, Number>(); this.series2.setName("clothes"); this.series3 = new XYChart.Series<String, Number>(); this.series3.setName("hardware"); this.series4 = new XYChart.Series<String, Number>(); this.series4.setName("books"); GridPane.setHalignment(this.bc, HPos.CENTER); GridPane.setVgrow(this.bc, Priority.ALWAYS); GridPane.setHgrow(this.bc, Priority.ALWAYS); GridPane.setMargin(this.bc, new Insets(0, 6, 0, 0)); return this.bc; }
From source file:gui.accessories.BattleSimFx.java
private BarChart createBarChart() { CategoryAxis xAxis = new CategoryAxis(); xAxis.setCategories(FXCollections.<String>observableArrayList(tableModel.getColumnNames())); xAxis.setLabel("Year"); double tickUnit = tableModel.getTickUnit(); NumberAxis yAxis = new NumberAxis(); yAxis.setTickUnit(tickUnit);/*from w w w. j a va 2 s . co m*/ yAxis.setLabel("Units Sold"); final BarChart aChart = new BarChart(xAxis, yAxis, tableModel.getBarChartData()); tableModel.addTableModelListener(new TableModelListener() { @Override public void tableChanged(TableModelEvent e) { if (e.getType() == TableModelEvent.UPDATE) { final int row = e.getFirstRow(); final int column = e.getColumn(); final Object value = ((SampleTableModel) e.getSource()).getValueAt(row, column); Platform.runLater(new Runnable() { @Override public void run() { XYChart.Series<String, Number> s = (XYChart.Series<String, Number>) aChart.getData() .get(row); BarChart.Data data = s.getData().get(column); data.setYValue(value); } }); } } }); return aChart; }
From source file:gui.accessories.GraphPopup.java
private BarChart createBarChart() { final CategoryAxis xAxis = new CategoryAxis(); final NumberAxis yAxis = new NumberAxis(); List<Nacao> nations = new ArrayList<Nacao>(WorldFacadeCounselor.getInstance().getNacoes().values()); ComparatorFactory.getComparatorNationVictoryPointsSorter(nations); xAxis.setCategories(FXCollections.<String>observableList(getNames(nations))); //format axis yAxis.setTickUnit(200);//from w w w.j a v a 2 s . co m yAxis.setLabel(labels.getString("PONTOS.VITORIA")); //xAxis.setLabel(labels.getString("NACAO")); xAxis.setTickMarkVisible(false); //Series 1 XYChart.Series<Number, String> series = new XYChart.Series(); //series1.setName("XYChart.Series 1"); for (Nacao nation : WorldFacadeCounselor.getInstance().getNacoes().values()) { final XYChart.Data data = new XYChart.Data(nation.getPontosVitoria(), nation.getNome()); series.getData().add(data); } // final BarChart<Number, String> stackedBarChart = new BarChart<Number, String>(yAxis, xAxis); // stackedBarChart.setTitle(labels.getString("PONTOS.VITORIA")); stackedBarChart.getData().addAll(series); stackedBarChart.setLegendVisible(false); // stackedBarChart.setCategoryGap(0.2); return stackedBarChart; }
From source file:com.jscriptive.moneyfx.ui.chart.ChartFrame.java
/** * This method is invoked when the daily balance button has been toggled * * @param actionEvent// ww w . ja v a 2 s.c o m */ public void dailyBalanceToggled(ActionEvent actionEvent) { LocalDateAxis xAxis = new LocalDateAxis(); NumberAxis yAxis = new NumberAxis(); final LineChart<LocalDate, Number> lineChart = new LineChart<>(xAxis, yAxis); lineChart.setCreateSymbols(false); chartFrame.setCenter(lineChart); ToggleButton toggle = (ToggleButton) actionEvent.getTarget(); if (toggle.isSelected()) { xAxis.setLabel("Day of year"); yAxis.setLabel("Balance in Euro"); lineChart.setTitle("Balance development day by day"); ValueRange<LocalDate> period = getTransactionOpRange(accountCombo.getValue(), yearCombo.getValue()); if (period.isEmpty()) { return; } xAxis.setLowerBound(period.from()); xAxis.setUpperBound(period.to()); Service<Void> service = new Service<Void>() { @Override protected Task<Void> createTask() { return new Task<Void>() { @Override protected Void call() throws Exception { Map<Account, List<Transaction>> transactionMap = getTransactions( accountCombo.getValue(), yearCombo.getValue()); transactionMap.entrySet().forEach(entry -> { Account account = entry.getKey(); List<Transaction> transactionList = entry.getValue(); XYChart.Series<LocalDate, Number> series = new XYChart.Series<>(); series.setName(format("%s [%s]", account.toPresentableString(), account.getFormattedBalance())); // sort transactions by operation value descending transactionList.sort((t1, t2) -> t2.getDtOp().compareTo(t1.getDtOp())); account.calculateStartingBalance(transactionList); series.getData() .add(new XYChart.Data<>(account.getBalanceDate(), account.getBalance())); // sort transactions by operation value ascending transactionList.sort((t1, t2) -> t1.getDtOp().compareTo(t2.getDtOp())); transactionList.forEach(trx -> { account.calculateCurrentBalance(trx); series.getData().add( new XYChart.Data<>(account.getBalanceDate(), account.getBalance())); }); Platform.runLater(() -> lineChart.getData().add(series)); }); return null; } }; } }; service.start(); } }
From source file:org.specvis.view.screenandlumscale.ViewFitLumScaleController.java
private void initLineChart() { // 1. Define axes. NumberAxis xAxis = new NumberAxis(); NumberAxis yAxis = new NumberAxis(); xAxis.setLabel("HSB Brightness (%)"); yAxis.setLabel("Luminance (cd/m2)"); // 2. Init lineChart. lineChart = new LineChart<>(xAxis, yAxis); lineChart.setTitle("Screen luminance scale"); // 3. Define chart series. XYChart.Series seriesFittedLuminance = new XYChart.Series(); seriesFittedLuminance.setName("Fitted luminance"); XYChart.Series seriesMeasuredLuminance = new XYChart.Series(); seriesMeasuredLuminance.setName("Measured luminance"); // 4. Get luminance scale. LuminanceScale luminanceScale;//from w w w . j a va2 s . c om if (StartApplication.getSpecvisData().getUiSettingsScreenAndLuminanceScale() .isThisWindowOpenedForStimulus()) { luminanceScale = StartApplication.getSpecvisData().getUiSettingsScreenAndLuminanceScale() .getStimulusLuminanceScale(); } else { luminanceScale = StartApplication.getSpecvisData().getUiSettingsScreenAndLuminanceScale() .getBackgroundLuminanceScale(); } // 5. Create short brightness vector. double[] shortBrightnessVector = new double[] { 0, 20, 40, 60, 80, 100 }; // 6. Get measured luminance values. double[] measuredLuminances = new double[] { luminanceScale.getLuminanceForBrightness0(), luminanceScale.getLuminanceForBrightness20(), luminanceScale.getLuminanceForBrightness40(), luminanceScale.getLuminanceForBrightness60(), luminanceScale.getLuminanceForBrightness80(), luminanceScale.getLuminanceForBrightness100() }; // 7. Create full brightness vector. double[] fullBrightnessVector = functions.createBrightnessVector(101); // 8. Nest data in series. for (int i = 0; i < fullBrightnessVector.length; i++) { seriesFittedLuminance.getData().add(new XYChart.Data(fullBrightnessVector[i], luminanceScale.getFittedLuminanceForEachBrightnessValue()[i])); } for (int i = 0; i < shortBrightnessVector.length; i++) { seriesMeasuredLuminance.getData() .add(new XYChart.Data(shortBrightnessVector[i], measuredLuminances[i])); } // 9. Add series to lineChart. lineChart.getData().addAll(seriesFittedLuminance, seriesMeasuredLuminance); vBox.getChildren().remove(vBox.getChildren().size() - 1); vBox.getChildren().add(lineChart); VBox.setVgrow(lineChart, Priority.ALWAYS); }
From source file:gui.accessories.GraphPopup.java
private StackedBarChart createStackedBarChart() { final CategoryAxis xAxis = new CategoryAxis(); final NumberAxis yAxis = new NumberAxis(); List<Nacao> nations = new ArrayList<Nacao>(WorldFacadeCounselor.getInstance().getNacoes().values()); ComparatorFactory.getComparatorNationVictoryPointsSorter(nations); xAxis.setCategories(FXCollections.<String>observableList(getNames(nations))); //format axis yAxis.setTickUnit(200);/*from w w w . j a va2 s.c om*/ yAxis.setLabel(labels.getString("PONTOS.VITORIA")); //xAxis.setLabel(labels.getString("NACAO")); xAxis.setTickMarkVisible(false); //Series 1 XYChart.Series<Number, String> series = new XYChart.Series(); //series1.setName("XYChart.Series 1"); for (Nacao nation : WorldFacadeCounselor.getInstance().getNacoes().values()) { final XYChart.Data data = new XYChart.Data(nation.getPontosVitoria(), nation.getNome()); series.getData().add(data); } // final StackedBarChart<Number, String> stackedBarChart = new StackedBarChart<Number, String>(yAxis, xAxis); // stackedBarChart.setTitle(labels.getString("PONTOS.VITORIA")); stackedBarChart.getData().addAll(series); stackedBarChart.setLegendVisible(false); // stackedBarChart.setCategoryGap(0.2); return stackedBarChart; }
From source file:SampleTableModel.java
private BarChart createBarChart() { CategoryAxis xAxis = new CategoryAxis(); xAxis.setCategories(FXCollections.<String>observableArrayList(tableModel.getColumnNames())); xAxis.setLabel("Year"); double tickUnit = tableModel.getTickUnit(); NumberAxis yAxis = new NumberAxis(); yAxis.setTickUnit(tickUnit);//from w w w. java 2 s.c o m yAxis.setLabel("Units Sold"); final BarChart chart = new BarChart(xAxis, yAxis, tableModel.getBarChartData()); tableModel.addTableModelListener(new TableModelListener() { public void tableChanged(TableModelEvent e) { if (e.getType() == TableModelEvent.UPDATE) { final int row = e.getFirstRow(); final int column = e.getColumn(); final Object value = ((SampleTableModel) e.getSource()).getValueAt(row, column); Platform.runLater(new Runnable() { public void run() { XYChart.Series<String, Number> s = (XYChart.Series<String, Number>) chart.getData() .get(row); BarChart.Data data = s.getData().get(column); data.setYValue(value); } }); } } }); return chart; }
From source file:com.jscriptive.moneyfx.ui.chart.ChartFrame.java
/** * This method is invoked when the monthly in/out button has been toggled * * @param actionEvent/*from w w w . ja v a2 s . c o m*/ */ public void monthlyInOutToggled(ActionEvent actionEvent) { final CategoryAxis xAxis = new CategoryAxis(); final NumberAxis yAxis = new NumberAxis(); xAxis.setLabel("Month of Year"); yAxis.setLabel("In/Out in Euro"); final BarChart<String, Number> barChart = new BarChart<>(xAxis, yAxis); barChart.setTitle("Monthly in/out"); chartFrame.setCenter(barChart); ToggleButton toggle = (ToggleButton) actionEvent.getTarget(); if (toggle.isSelected()) { Account account = accountCombo.getValue(); String accountLabel = getAccountLabel(account); XYChart.Series<String, Number> inSeries = new XYChart.Series<>(); inSeries.setName("In" + accountLabel); barChart.getData().add(inSeries); XYChart.Series<String, Number> outSeries = new XYChart.Series<>(); outSeries.setName("Out" + accountLabel); barChart.getData().add(outSeries); ValueRange<LocalDate> period = getTransactionOpRange(account, yearCombo.getValue()); if (period.isEmpty()) { return; } ObservableList<String> monthLabels = FXCollections.observableArrayList(); for (LocalDate date = period.from().withDayOfMonth(1); !date.isAfter(period.to()); date = date .plusMonths(1)) { monthLabels.add(getMonthLabel(date.getYear(), date.getMonthValue())); } xAxis.setCategories(monthLabels); Service<Void> service = new Service<Void>() { @Override protected Task<Void> createTask() { return new Task<Void>() { @Override protected Void call() throws Exception { List<TransactionVolume> incomingVolumes = (account == ALL_ACCOUNTS) ? transactionRepository.getMonthlyIncomingVolumes(false) : transactionRepository.getMonthlyIncomingVolumesOfAccount(account, false); if (INTEGER_ZERO.compareTo(yearCombo.getValue()) < 0) { incomingVolumes = incomingVolumes.stream() .filter(v -> v.getYear().equals(yearCombo.getValue())) .sorted((v1, v2) -> v1.getDate().compareTo(v2.getDate())).collect(toList()); } for (TransactionVolume volume : incomingVolumes) { String monthLabel = getMonthLabel(volume.getYear(), volume.getMonth()); XYChart.Data<String, Number> data = new XYChart.Data<>(monthLabel, volume.getVolume()); Platform.runLater(() -> { inSeries.getData().add(data); StackPane barNode = (StackPane) data.getNode(); // TODO make that look nicer Label labelNode = new Label( CurrencyFormat.getInstance().format(volume.getVolume())); labelNode.setPrefWidth(100); labelNode.setAlignment(CENTER_RIGHT); labelNode.setRotate(270); barNode.getChildren().add(labelNode); barNode.addEventHandler(MOUSE_CLICKED, event -> handleMonthlyInOutChartMouseClickEvent( (account == ALL_ACCOUNTS) ? null : account, of(volume.getYear(), volume.getMonth(), 1), event)); }); } List<TransactionVolume> outgoingVolumes = (account == ALL_ACCOUNTS) ? transactionRepository.getMonthlyOutgoingVolumes(false) : transactionRepository.getMonthlyOutgoingVolumesOfAccount(account, false); if (INTEGER_ZERO.compareTo(yearCombo.getValue()) < 0) { outgoingVolumes = outgoingVolumes.stream() .filter(v -> v.getYear().equals(yearCombo.getValue())) .sorted((v1, v2) -> v1.getDate().compareTo(v2.getDate())).collect(toList()); } for (TransactionVolume volume : outgoingVolumes) { String monthLabel = getMonthLabel(volume.getYear(), volume.getMonth()); XYChart.Data<String, Number> data = new XYChart.Data<>(monthLabel, volume.getVolume().abs()); Platform.runLater(() -> { outSeries.getData().add(data); StackPane node = (StackPane) data.getNode(); // TODO make that look nicer Label labelNode = new Label( CurrencyFormat.getInstance().format(volume.getVolume())); labelNode.setPrefWidth(100); labelNode.setAlignment(CENTER_RIGHT); labelNode.setRotate(270); node.getChildren().add(labelNode); node.addEventHandler(MOUSE_CLICKED, event -> handleMonthlyInOutChartMouseClickEvent( (account == ALL_ACCOUNTS ? null : account), volume.getDate(), event)); }); } return null; } }; } }; service.start(); } }
From source file:com.jscriptive.moneyfx.ui.chart.ChartFrame.java
public void yearlyInOutToggled(ActionEvent actionEvent) { final NumberAxis xAxis = new NumberAxis(); final CategoryAxis yAxis = new CategoryAxis(); yAxis.setLabel("In/Out in Euro"); xAxis.setLabel("Year"); final BarChart<Number, String> barChart = new BarChart<>(xAxis, yAxis); barChart.setTitle("Yearly in/out"); chartFrame.setCenter(barChart);/* www . jav a 2 s . c o m*/ ToggleButton toggle = (ToggleButton) actionEvent.getTarget(); if (toggle.isSelected()) { Account account = accountCombo.getValue(); String accountLabel = getAccountLabel(account); XYChart.Series<Number, String> inSeries = new XYChart.Series<>(); inSeries.setName("In" + accountLabel); barChart.getData().add(inSeries); XYChart.Series<Number, String> outSeries = new XYChart.Series<>(); outSeries.setName("Out" + accountLabel); barChart.getData().add(outSeries); ValueRange<LocalDate> period = getTransactionOpRange(account, yearCombo.getValue()); if (period.isEmpty()) { return; } ObservableList<String> categories = FXCollections.observableArrayList(); for (int y = period.from().getYear(); y < period.to().getYear() + 6; y++) { categories.add(String.valueOf(y)); } yAxis.setCategories(categories); Service<Void> service = new Service<Void>() { @Override protected Task<Void> createTask() { return new Task<Void>() { @Override protected Void call() throws Exception { List<TransactionVolume> incomingVolumes = (account == ALL_ACCOUNTS) ? transactionRepository.getYearlyIncomingVolumes(false) : transactionRepository.getYearlyIncomingVolumesOfAccount(account, false); if (INTEGER_ZERO.compareTo(yearCombo.getValue()) < 0) { incomingVolumes = incomingVolumes.stream() .filter(v -> v.getYear().equals(yearCombo.getValue())) .sorted((v1, v2) -> v1.getDate().compareTo(v2.getDate())).collect(toList()); } for (TransactionVolume volume : incomingVolumes) { XYChart.Data<Number, String> inData = new XYChart.Data<>(volume.getVolume(), String.valueOf(volume.getYear())); Platform.runLater(() -> { inSeries.getData().add(inData); StackPane node = (StackPane) inData.getNode(); node.getChildren().add( new Label(CurrencyFormat.getInstance().format(volume.getVolume()))); node.addEventHandler(MOUSE_CLICKED, event -> handleYearlyInOutChartMouseClickEvent( (account == ALL_ACCOUNTS) ? null : account, ofYearDay(volume.getYear(), 1), event)); }); } List<TransactionVolume> outgoingVolumes = (account == ALL_ACCOUNTS) ? transactionRepository.getYearlyOutgoingVolumes(false) : transactionRepository.getYearlyOutgoingVolumesOfAccount(account, false); if (INTEGER_ZERO.compareTo(yearCombo.getValue()) < 0) { outgoingVolumes = outgoingVolumes.stream() .filter(v -> v.getYear().equals(yearCombo.getValue())) .sorted((v1, v2) -> v1.getDate().compareTo(v2.getDate())).collect(toList()); } for (TransactionVolume volume : outgoingVolumes) { XYChart.Data<Number, String> outData = new XYChart.Data<>(volume.getVolume().abs(), String.valueOf(volume.getYear())); Platform.runLater(() -> { outSeries.getData().add(outData); StackPane node = (StackPane) outData.getNode(); node.getChildren().add( new Label(CurrencyFormat.getInstance().format(volume.getVolume()))); node.addEventHandler(MOUSE_CLICKED, event -> handleYearlyInOutChartMouseClickEvent( (account == ALL_ACCOUNTS) ? null : account, ofYearDay(volume.getYear(), 1), event)); }); } return null; } }; } }; service.start(); } }
From source file:UI.MainStageController.java
/** * Displays an abundance plot of the selected taxa */// www . j a va 2 s .c o m @FXML private void displayAbundancePlot() { ObservableList selectedItems = LoadedData.getGraphView().getSelectionModel().getSelectedItems(); List<TaxonNode> nodesList = new LinkedList<>(); for (Object selectedItem : selectedItems) { nodesList.add(((MyVertex) selectedItem).getTaxonNode()); } HashMap<Sample, HashMap<TaxonNode, Integer>> abundancesMap = SampleComparison.calcAbundances(nodesList); final CategoryAxis xAxis = new CategoryAxis(); final NumberAxis yAxis = new NumberAxis(); xAxis.setLabel("Taxa"); yAxis.setLabel("Abundance"); BarChart<String, Number> abundancePlot = new BarChart<>(xAxis, yAxis); for (Map.Entry<Sample, HashMap<TaxonNode, Integer>> entry : abundancesMap.entrySet()) { XYChart.Series<String, Number> sampleSeries = new XYChart.Series<>(); sampleSeries.setName(entry.getKey().getName()); for (Map.Entry<TaxonNode, Integer> innerMapEntry : entry.getValue().entrySet()) { sampleSeries.getData() .add(new XYChart.Data<>(innerMapEntry.getKey().getName(), innerMapEntry.getValue())); } abundancePlot.getData().add(sampleSeries); } //Display chart on a new pane Stage chartStage = new Stage(); chartStage.setTitle("Abundance Plot"); Scene chartScene = new Scene(abundancePlot); chartStage.setScene(chartScene); chartStage.show(); }