有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JavaFX 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>

我用@FXML标记在Java控制器中定义轴

初始化部分(此方法从public void initialize(URL位置,ResourceBundle资源)调用):

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<;XYChart。系列>和系列包含双值;然后将该系列添加到图表中:

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

因此,我得到了如下结果:

Two series on AreaChart

或者这个:

One serie on AreaChart

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


共 (1) 个答案