charts_flutter: Показать значение оси Y для соответствующего флаттера значения оси X - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь отобразить диаграмму временных рядов в своем приложении. Проблема в том, что когда я нажимаю на дату на оси X, соответствующее значение Y не отображается на оси Y. Я интенсивно искал в документации, но такого примера нет. Что мне нужно сделать по-другому?

Here is a picture of the chart:

class MyLineChart extends StatelessWidget {
  final List<charts.Series> seriesList;
  final bool animate;

  MyLineChart(this.seriesList, {this.animate});

  @override
  Widget build(BuildContext context) {
    return new charts.TimeSeriesChart(
      seriesList,
      animate: animate,
      dateTimeFactory: const charts.LocalDateTimeFactory(),
    );
  }
}

1 Ответ

0 голосов
/ 31 марта 2020

Попробуйте, используя LinePointHighlighter:

class MyLineChart extends StatelessWidget {
  final List<charts.Series> seriesList;
  final bool animate;

  MyLineChart(this.seriesList, {this.animate});

  @override
  Widget build(BuildContext context) {
    return new charts.TimeSeriesChart(
      seriesList,
      animate: animate,
      dateTimeFactory: const charts.LocalDateTimeFactory(),
      behaviors: [
        LinePointHighlighter(
          drawFollowLinesAcrossChart: true,
          showHorizontalFollowLine: LinePointHighlighterFollowLineType.all,
        ),
      ],
    );
  }
}

РЕДАКТИРОВАТЬ: Извините, я неправильно прочитал ваш вопрос.

Чтобы показать значения на оси Y, я думаю, у вас будет создать свой собственный LinePointHighlighter или SymbolRenderer для передачи вашего LinePointHighlighter. Оба требуют, чтобы вы нарисовали на графике canvas.

Используйте SelectionModelConfig, чтобы получить выбранное значение, которое вы хотите показать. См .: https://google.github.io/charts/flutter/example/behaviors/selection_callback_example

Я сам этого не делал, но надеюсь, это поможет вам.

...