2015-12-28 6 views
-1

enter image description hereJavaFX графики не работает

Я использую JavaFX диаграммы для моего проекта, и после запуска моей программы я получаю эту диаграмму. что я хочу, чтобы он привязал 3-й пункт первым, а затем к 4-й точке. Есть ли способ сделать это. Спасибо

+0

Давай ... ты должен приложить больше усилий, задавая вопросы. Если бы вы увидели этот вопрос, не могли бы вы увидеть какой-либо шанс ответить на это? –

+0

Прошу прощения, это мой первый вопрос о StackOverflow. Я попытался очистить свой вопрос. Надеюсь, теперь я смогу получить ответ –

+0

Используйте другой тип диаграммы для отображения ваших данных. Может быть, PieChart? – Sedrick

ответ

0

Я уверен, что «AreaChart», что вы используете данные графиков монотонно. Таким образом, независимо от того, какой порядок точек добавляется в вашу серию, график будет считать их монотонными.

примечание: Monotonic означает, что для каждого значения x существует одно значение y.

Если вы хотите сломать «монотонность» вашего сюжета, и вы готовы отказаться от затененной области, вы можете построить его как lineChart, а затем вам нужно будет изменить свою политику сортировки. Я привел пример ниже, чтобы показать вам, как его исправить.

import javafx.application.Application; 
import javafx.scene.Scene; 
import javafx.scene.chart.LineChart; 
import javafx.scene.chart.NumberAxis; 
import javafx.scene.chart.XYChart; 
import javafx.scene.layout.Pane; 
import javafx.stage.Stage; 

public class Main extends Application { 
@Override 
public void start(Stage primaryStage) throws Exception{ 
    Pane root = new Pane(); 

    NumberAxis xAxis = new NumberAxis(); 
    NumberAxis yAxis = new NumberAxis(); 

    LineChart chart = new LineChart(xAxis,yAxis); 

    XYChart.Series series = new XYChart.Series(); 

    chart.getData().add(series); 
    chart.setAxisSortingPolicy(LineChart.SortingPolicy.NONE); 

    series.getData().add(new XYChart.Data(0,1)); 
    series.getData().add(new XYChart.Data(1,2)); 
    series.getData().add(new XYChart.Data(2,1)); 
    series.getData().add(new XYChart.Data(1,0)); 

    root.getChildren().add(chart); 

    primaryStage.setTitle("Hello World"); 
    primaryStage.setScene(new Scene(root)); 
    primaryStage.show(); 
} 


    public static void main(String[] args) { 
     launch(args); 
    } 
} 

К сожалению, если вы ищете для обоих, он собирается спуститься к тому, чтобы создать свой собственный класс диаграммы, расширив от XYChart или, возможно, даже AreaChart и определить свой собственный AreaChart.

+0

Также добавочная нота ... Сортировка перечислит, поэтому вы можете сортировать по оси X, по оси Y или None – Deezee

Смежные вопросы