JavaFX LineChart正在剪切系列图形

JavaFX LineChart正在剪切系列图形,javafx,linechart,Javafx,Linechart,Bug还是特性?当该值为0(最小值)或1(最大值)时,序列显示为剪裁。我希望红色层在前面,不会被剪掉 将“最小值”、“最大值”设置为-0.1,1.1可以避免剪裁,但会造成混乱 除了调整背景和填充物之外,我想不出还有什么可以尝试的,没有任何效果 import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.chart.*; import javafx.stage.Stage; pub

Bug还是特性?当该值为0(最小值)或1(最大值)时,序列显示为剪裁。我希望红色层在前面,不会被剪掉

将“最小值”、“最大值”设置为-0.1,1.1可以避免剪裁,但会造成混乱

除了调整背景和填充物之外,我想不出还有什么可以尝试的,没有任何效果

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.chart.*;
import javafx.stage.Stage;

public class LineChartClipping extends Application {

  LineChart makeRoot() {
    NumberAxis xAxis = new NumberAxis();
    NumberAxis yAxis = new NumberAxis(0, 1, 1); // (-0.1, 1.1, 1);
    var chart = new LineChart(xAxis, yAxis);
    var series = new LineChart.Series<>();
    chart.getData().add(series);
    double x = 0;
    for (var value : new double[]{0.5, 0, 1.0}) {
      series.getData().add(new LineChart.Data<>(x, value));  x += 2;
      series.getData().add(new LineChart.Data<>(x, value));
    }
    return chart;
  }

  @Override
  public void start(Stage stage) {
    stage.setScene(new Scene(makeRoot(), 180, 120));
    stage.show();
  }

  public static void main(String[] args) { launch(args); }
}
因此,最小/最大值处的水平面如下所示:

  • macOS Catalina,视网膜iMac(HiDPI)
  • JavaFX15.0.1,Java15.0.1

您需要使图表的范围略大于0到1,比如-0.1到1.1。图表正好停在0和1处,由于线条有一定的厚度,它会在边缘处剪裁。

请。这是一个可复制的示例,与实际代码相比明显减少。我不知道我还能删除什么使它更简单。这里没有看到任何代码。。请阅读参考的帮助页面并采取行动accordingly@kleopatra我试着在这里用最少的代码发布。所以不允许这样做。把它去掉,只是一个简单的图表(解决这个问题后,只移动到自定义图表)和您的配置和数据。。那是一大堆台词,不应该太多。
    chart.setCreateSymbols(false);
    xAxis.setTickMarkVisible(false);
    xAxis.setMinorTickVisible(false);
    xAxis.setTickLabelsVisible(false);