2015-12-28 4 views
-1

enter image description heregraphiques JavaFX ne fonctionne pas

J'utilise des graphiques JavaFX pour mon projet et après l'exécution de mon programme, je reçois ce tableau. ce que je veux qu'il enclenche le 3ème point d'abord puis le 4ème point. Y'a-t'il un quelconque moyen d'y arriver. Merci

+0

allez ... vous devriez mettre plus d'effort à poser des questions. Si vous voyiez cette question, auriez-vous une chance de répondre à cette question? –

+0

Pardon, c'est ma première question sur StackOverflow. J'ai essayé d'effacer ma question maintenant. Espérons maintenant que je peux obtenir une réponse –

+0

Utilisez un autre type de graphique pour afficher vos données. PieChart peut-être? – Sedrick

Répondre

0

Je suis assez sûr que le 'AreaChart' que vous utilisez trace des données de façon monotone. Donc, peu importe l'ordre dans lequel les points seront ajoutés à votre série, le tableau les montrera comme monotones.

note: Monotonic signifie que pour chaque valeur x, il existe une seule valeur y.

Si vous voulez rompre la «monotonie» de votre intrigue et que vous êtes prêt à abandonner la zone ombrée, vous pouvez la construire sous la forme d'un lineChart et vous devrez alors modifier votre politique de tri. J'ai joint un exemple ci-dessous pour vous montrer comment le réparer.

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); 
    } 
} 

Malheureusement, si vous êtes à la recherche pour les deux, il va descendre à devoir construire votre propre classe graphique en allant de XYChart ou peut-être même AreaChart et définir votre propre AreaChart personnalisé.

+0

Egalement une note supplémentaire ... Le tri est énuméré, donc vous pouvez trier par l'axe X, l'axe Y, ou Aucun – Deezee