2015-12-28 175 views
-1

enter image description hereJavaFX的图表工作不

我使用JavaFX图表为我的项目和运行我的程序后,我得到这个图表。我想让它先抓住第三点然后抓到第四点。有没有办法做到这一点。谢谢

+0

来吧......你应该更加努力地提出问题。如果你会看到这个问题,你是否会有机会在这个问题上回答这个问题? –

+0

对不起队友,这是我在StackOverflow上的第一个问题。我现在试图清除我的问题。希望现在我可以得到答案 –

+0

使用不同类型的图表来显示您的数据。 PieChart也许? – Sedrick

回答

0

我很确定你使用的'AreaChart'单调绘制数据。因此,无论点数添加到系列中的顺序如何,图表都会将它们绘制为单调。

注意:单调意味着对于每个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轴或无 – Deezee