JavaFX AreaChart - 在最后一点之下没有颜色区域

时间:2017-08-02 10:11:06

标签: java charts javafx-2 stacked-area-chart

为什么AreaChart不覆盖线下的所有区域?

这是我的图表的fxml代码(它非常基本):

<AreaChart fx:id="CWTareaLayerChart" prefHeight="547.0" prefWidth="682.0" GridPane.rowIndex="1">
    <xAxis>
        <NumberAxis side="BOTTOM" fx:id="xAxisCWT" />
    </xAxis>
    <yAxis>
        <NumberAxis fx:id="yAxisCWT" side="LEFT" />
    </yAxis>
</AreaChart>

我在Java Controller中使用@FXML标记定义轴。

初始化部分(此方法从 public void initialize(URL location,ResourceBundle resources)调用:

private void initializeLayerChart() {
    xAxisCWT.setForceZeroInRange(false);
    yAxisCWT.setForceZeroInRange(true);

    xAxisCWT.setAutoRanging(true);
    yAxisCWT.setAutoRanging(true);

    yAxisCWT.setLowerBound(-5.0);

    xAxisCWT.setLabel("W (%)");
    yAxisCWT.setLabel("avg C (pF)");
}

还有一个刷新按钮,用于刷新系列内容(可以有一个或多个系列)并重新绘制图表。方法本身返回 List&lt; XYChart.Series&gt; 和系列包含Double值;然后系列被添加到图表中:

this.CWTareaLayerChart.getData().addAll(allSeries);

结果我得到了这样的东西:

Two series on AreaChart

或者这个:

One serie on AreaChart

我在setAutoRanging()和setForceZeroInRange()中尝试了不同的true / false组合,也使用了setLowerBound(),但结果总是类似于图像 - 系列的最后几点显示但是下面的区域没有颜色。

1 个答案:

答案 0 :(得分:0)

您是否尝试过设置threshold参数?

API参考:
http://api.highcharts.com/highcharts/plotOptions.series.threshold

例:
http://jsfiddle.net/w5f3Ltcu/