答案 0 :(得分: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,我们必须建立您自己的图表类。