【发布时间】:2018-01-09 12:06:46
【问题描述】:
为什么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 控制器中用@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 并且系列包含 Double 值;然后将系列添加到图表中:
this.CWTareaLayerChart.getData().addAll(allSeries);
结果我得到了这样的东西:
或者这个:
我在 setAutoRanging() 和 setForceZeroInRange() 中尝试了不同的真/假组合,也使用了 setLowerBound(),但结果总是类似于图像 - 显示系列的最后一个点,但区域下面没有颜色。
【问题讨论】:
-
我试图重现您的问题,但我不能。也许您的情节点数据是问题所在。您如何获取绘图点的数据?
标签: java charts javafx-2 stacked-area-chart