【问题标题】:JavaFX LineChart appears blank at high valueJavaFX LineChart 在高值时显示为空白
【发布时间】:2015-07-22 07:42:11
【问题描述】:

刚刚遇到 javafx.scene.chart.LineChart 的问题。当使用大于 5E13 左右的 Double 值填充图表数据时,该系列恰好消失(见屏幕截图)。

之前

之后

以防万一:我正在使用以下代码添加数据

chart.getData().clear();
chart.getData().add(new XYChart.Series<>("Simulation name", sim.getDataAsList()));

似乎y轴的upperBound属性设置为NaN

NumberAxis 轴 = (NumberAxis) chart.getYAxis(); axis.upperBoundProperty().addListener(new ChangeListener() { @覆盖 public void changed(ObservableValue extends Number> observable, Number oldValue, Number newValue) { if(Double.isNaN(newValue.doubleValue())){ System.out.println("upperBound is NaN"); } } });

请帮助任何人!

【问题讨论】:

标签: java user-interface charts javafx nan


【解决方案1】:

如果你只是做一个除数并将你的轴称为十亿或其他东西,这可能是最好的。

否则您可以自己设置范围并提供格式化程序。

这是来自 NumberAxis.java 的片段

 /** We use these for auto ranging to pick a user friendly tick unit. We handle tick units in the range of 1e-10 to 1e+12 */
    private static final double[] TICK_UNIT_DEFAULTS = {
        1.0E-10d, ..., 5.0E12d

【讨论】:

    猜你喜欢
    • 2017-08-20
    • 2015-06-10
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-20
    • 2017-02-11
    相关资源
    最近更新 更多