Я создаю диаграмму временных рядов во флаттере, но она показывает только один цвет для точек. Я хотел бы назначить разные цвета для точек на основе их значений. Например, значения 1 и 2 - красные, а 3 и 4 - оранжевые. Возможно ли это?
Вот что я пробовал:
@override
Widget build(BuildContext context) {
return new charts.TimeSeriesChart(
seriesList,
animate: animate,
defaultRenderer: new charts.LineRendererConfig(
includePoints: true,
includeArea: true,
radiusPx: 6,
),
// Provides a custom axis ensuring that the ticks are in whole numbers.
primaryMeasureAxis: new charts.NumericAxisSpec(
tickProviderSpec: new charts.BasicNumericTickProviderSpec(
desiredTickCount: 11,
),
renderSpec: new charts.GridlineRendererSpec(
// Tick and Label styling here.
labelStyle: new charts.TextStyleSpec(
fontSize: 14, // size in Pts.
color: charts.MaterialPalette.black),
// Change the line colors to match text color.
lineStyle: new charts.LineStyleSpec(
color: charts.MaterialPalette.transparent))),
domainAxis: new charts.DateTimeAxisSpec(
renderSpec: new charts.GridlineRendererSpec(
// Tick and Label styling here.
labelStyle: new charts.TextStyleSpec(
fontSize: 14, // size in Pts.
color: charts.MaterialPalette.black),
// Change the line colors to match text color.
lineStyle: new charts.LineStyleSpec(
color: charts.MaterialPalette.transparent))),
);
}
static List<charts.Series<MoodRow, DateTime>> _buildData(
List<_mood.Mood> moodEntries) {
List<MoodRow> data = new List();
for (_mood.Mood mood in moodEntries) {
data.add(new MoodRow(mood, mood.moodDate, mood.moodStatus));
}
return [
new charts.Series<MoodRow, DateTime>(
id: 'MoodStatus',
colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault,
domainFn: (MoodRow row, _) => row.timeStamp,
measureFn: (MoodRow row, _) => row.moodStatus,
data: data,
)
];
}