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);
因此,我得到了如下结果:
或者这个:
我在setAutoRanging()和setForceZeroInRange()中尝试了true/false的不同组合,也使用了setLowerBound(),但结果总是与图像上的结果类似-显示了系列的最后几点,但下面的区域没有着色
# 1 楼答案
您是否尝试设置
threshold
参数API参考:
http://api.highcharts.com/highcharts/plotOptions.series.threshold
示例:
http://jsfiddle.net/w5f3Ltcu/