При обновлении ряда данных в пределах временного графика charts_flutter точка индикатора исчезает. Эта ссылка предлагает возможный обходной путь, но до сих пор я не смог его реализовать, так как объяснение не содержит полного примера. У кого-нибудь есть пример, благодаря которому они могут этого добиться? В частности, я пытаюсь сохранить точку индикатора на линии графика, одновременно обновляя Text
виджет.
Код для TimeSeriesChart:
new charts.TimeSeriesChart(
getSeries(reading),
dateTimeFactory: new charts.UTCDateTimeFactory(),
animate: false,
selectionModels: [
new charts.SelectionModelConfig(
changedListener: _onSelectionChanged,
)
],
behaviors: [
new charts.LinePointHighlighter(
defaultRadiusPx: 20.0,
radiusPaddingPx: 20.0,
showHorizontalFollowLine:
charts.LinePointHighlighterFollowLineType.nearest,
showVerticalFollowLine:
charts.LinePointHighlighterFollowLineType.nearest
),
new charts.SelectNearest(
eventTrigger: charts.SelectionTrigger.tapAndDrag
)
],
primaryMeasureAxis: ...
domainAxis: ...
А затем код для _onSelectionChanged
:
_onSelectionChanged(charts.SelectionModel model) {
final selectedDatum = model.selectedDatum;
DateTime time;
final measures = <String, num>{};
num value;
if (selectedDatum.isNotEmpty) {
time = selectedDatum.first.datum.time;
value = selectedDatum.first.datum.value;
selectedDatum.forEach((charts.SeriesDatum datumPair) {
measures[datumPair.series.displayName] = datumPair.datum.value;
if (!datumPair.series.id.contains("min") && !datumPair.series.id.contains("max"))
value = datumPair.datum.value;
});
}
setState(() {
_time = time;
_measures = measures;
_value = value; // This is the value that is used within the `Text` widget
});
}