首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFX lineChart问题

JavaFX lineChart问题
EN

Stack Overflow用户
提问于 2017-03-28 14:03:02
回答 1查看 91关注 0票数 0

我有以下代码:

代码语言:javascript
复制
 final TreeMap<Integer, Double> ADLMap = new TreeMap<>();

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

  @Override
public void start(Stage stage) {
    final String currency = "currreny";
    ADL(currency);
    stage.setTitle("Line Chart Sample");
    //defining the axes
    final NumberAxis xAxis = new NumberAxis();
    final NumberAxis yAxis = new NumberAxis();
    xAxis.setLabel("Number of Month");
    //creating the chart
    final LineChart<Number, Number> lineChart = new LineChart<Number, Number>(xAxis, yAxis);
    lineChart.setTitle("Stock Monitoring, 2010");
    //defining a series
    XYChart.Series ADLChart = new XYChart.Series();
    XYChart.Series regularChart = new XYChart.Series();

    ADLChart.setName("My portfolio");

    chartMap.entrySet().forEach(entry -> regularChart.getData().add(new XYChart.Data(entry.getKey(), entry.getValue())));

    //populating the series with data
    ADLMap.entrySet().forEach(entry -> ADLChart.getData().add(new XYChart.Data(entry.getKey(), entry.getValue())));
    System.out.println(ADLMap);
    lineChart.setCreateSymbols(false);

    Scene scene = new Scene(lineChart, 1200, 1000);
    //lineChart.getData().add(regularChart);
    lineChart.getData().add(ADLChart);

    stage.setScene(scene);
    stage.show();


    final double SCALE_DELTA = 1.1;
    lineChart.setOnScroll(new EventHandler<ScrollEvent>() {
        public void handle(ScrollEvent event) {
            event.consume();

            if (event.getDeltaY() == 0) {
                return;
            }

            double scaleFactor = (event.getDeltaY() > 0) ? SCALE_DELTA : 1 / SCALE_DELTA;

            lineChart.setScaleX(lineChart.getScaleX() * scaleFactor);
            lineChart.setScaleY(lineChart.getScaleY() * scaleFactor);
        }
    });

    lineChart.setOnMousePressed(new EventHandler<MouseEvent>() {
        public void handle(MouseEvent event) {
            if (event.getClickCount() == 2) {
                lineChart.setScaleX(1.0);
                lineChart.setScaleY(1.0);
            }
        }
    });

}

   private void ADL(final String currency) {
    double counter = -4000000.0;
    int mapCounter = 0;
    while (counter < 4000000) {
        ADLMap.put(mapCounter++, counter++);
    }
}

该地图包含以下值:键n+1 n欧元,取值范围从-10.000.000到+ 10.000.000。

My Problem: --它根本不绘制值。至少我什么也看不见。

有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-28 16:07:02

我的错误是,一个复杂的算法产生了一个inifnity,它被放置在TreeMap中。图形无法绘制ofc。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43071711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档