0

我正在使用fl_chart库在我的 Flutter 应用程序中显示图表。我试图显示 y 值为 1、2 或 3 的点,并且我想在图表上的值 1、2 和 3 上绘制一条水平线。

这是我的代码:

class MyChart extends StatelessWidget {
  final List<ScatterSpot> spots;

  const MyChart({
    Key? key,
    required this.spots,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return ScatterChart(
      ScatterChartData(
        minX: 1,
        maxX: 5,
        minY: 1,
        maxY: 3,
        scatterSpots: spots,
        gridData: FlGridData(
          show: true,
          drawHorizontalLine: true,
          drawVerticalLine: false,
          getDrawingHorizontalLine: (value) {
            return FlLine(
              color: Colors.grey.shade300,
              strokeWidth: 1,
            );
          },
          horizontalInterval: 1,
        ),
        borderData: FlBorderData(
          show: false,
        ),
        titlesData: FlTitlesData(
          leftTitles: SideTitles(
            showTitles: true,
            getTitles: (value) => value.toString(),
            interval: 1,
          ),
          rightTitles: SideTitles(
            showTitles: false,
          ),
          topTitles: SideTitles(
            showTitles: false,
          ),
          bottomTitles: SideTitles(
            showTitles: false,
          ),
        ),
      ),
    );
  }
}

因此,如您所见,我定义了 minY 值为 1 和 maxY 值为 3。我正在绘制一条间隔为 1 的水平线。y 轴上的标题正确显示为 1、2 和 3 ,但这条线只为值 2 绘制,而不是为值 1 和 3。我该如何解决这个问题?

4

1 回答 1

0

已修复 ^^ 我只是将borderData 设置为底部和顶部BorderSide

于 2022-02-10T15:05:09.040 回答