从 JavaFX AreaChart 中删除所有边框和轴线

问题描述 投票:0回答:1

我正在尝试使用

AreaChart
来实现完全无风格的
JavaFX
。我只想要实际的图表线。到目前为止,我认为我已经接受了图表底部出现的这条烦人的白线。有谁知道如何删除这个吗?

        int maxDataPoints = 200;

        NumberAxis xAxis = new NumberAxis(0, maxDataPoints, 10);
        xAxis.setForceZeroInRange(false);
        xAxis.setAutoRanging(false);
        xAxis.setTickLabelsVisible(false);
        xAxis.setTickMarkVisible(false);
        xAxis.setMinorTickVisible(false);
        xAxis.setVisible(false);

        NumberAxis yAxis = new NumberAxis(0, 1, 0.1);
        yAxis.setTickLabelsVisible(false);
        yAxis.setTickMarkVisible(false);
        yAxis.setMinorTickVisible(false);
        yAxis.setVisible(false);

        AreaChart<Number, Number> areaChartAlt = new AreaChart<>(xAxis, yAxis);

        areaChartAlt.minHeightProperty().bind(stackPane.heightProperty());

        areaChartAlt.setCreateSymbols(false);

        areaChartAlt.getXAxis().setVisible(false);
        areaChartAlt.getYAxis().setVisible(false);

        areaChartAlt.setLegendVisible(false);

        stackPane.getChildren().add(areaChartAlt);
        StackPane.setAlignment(areaChartAlt, Pos.CENTER);

        XYChart.Series<Number, Number> series = new XYChart.Series<>();
        for (int i = 0; i < maxDataPoints; i++)
        {
            series.getData().add(new XYChart.Data<>(i, 0));
        }

        ThreadUtils.run(() -> {
            int counter = maxDataPoints;
            while (true)
            {
                ThreadUtils.safeSleep(samplePeriodMs);
                float value = (float) (counter % 100) * 0.01f;
                int finalCounter = counter;
                Platform.runLater(() -> {
                    var data = series.getData().remove(0);
                    series.getData().add(new XYChart.Data<>(finalCounter, value));
                    xAxis.setLowerBound(data.getXValue().intValue() + 1);
                    xAxis.setUpperBound(finalCounter + 1);
                });
                counter++;
            }
        });

        areaChartAlt.getData().add(series);

        stackPane.setPadding(Insets.EMPTY);

        borderPane.setCenter(stackPane);
        BorderPane.setAlignment(stackPane, Pos.CENTER);
.chart {
    -fx-padding: 0px;
    -fx-background-color: transparent;
    -fx-legend-visible: false;
    -fx-border-color: transparent;
    -fx-grid-lines-visible: false;
    -fx-horizontal-grid-lines-visible: false;
    -fx-vertical-grid-lines-visible: false;
    -fx-minor-tick-visible: false;
}

.chart-content {
    -fx-padding: 0px;
    -fx-background-color: transparent;
    -fx-border-color: transparent;
    -fx-border-width: 0px;
}

.chart-plot-background {
    -fx-background-color: transparent;
}

.axis {
    -fx-side: null;
}

更新:

将其添加到

.chart
文件中的
css
下似乎已删除该行。

java javafx charts styling
1个回答
0
投票

将其添加到“css”文件中的“.chart”下似乎已删除该行。

    -fx-horizontal-zero-line-visible: false;
    -fx-vertival-zero-line-visible: false;
© www.soinside.com 2019 - 2024. All rights reserved.