charts_flutter: показывать только год в горизонтальных галочках - PullRequest
1 голос
/ 02 ноября 2019

Я использую charts_flutter для генерации линейных диаграмм во Flutter. Учитывая этот код:

Widget _chart(ctx) => TimeSeriesChart(_data(), domainAxis: ???);

List<Series<Point, DateTime>> _data() =>
    [
        Series<Point, DateTime>(
            id: 'Data',
            colorFn: (_, __) => MaterialPalette.blue.shadeDefault,
            data: store.data,
            domainFn: (Point p, _) => p.timestamp,
            measureFn: (Point p, _) => p.amount,
        )
    ];

Производит этот график:

Sample chart

Как сделать горизонтальные отметки, чтобы показать только ГОД?

1 Ответ

0 голосов
/ 02 ноября 2019

Если ваш domainFn создается с объектами DateTime, вы можете указать желаемый формат оси при построении диаграммы, используя классы DateTimeAxisSpec и TimeFormatterSpec из пакета charts_flutter. Посмотрите этот пример из примера пакета charts_flutter . Здесь они делают что-то очень похожее на то, что вы хотите, то есть представляете некоторое значение на оси Y как функцию некоторых DateTime объектов на оси X. Как вы можете видеть, при построении диаграммы они используют TimeSeriesChart, и они устанавливают параметр domainAxis равным

domainAxis: new charts.DateTimeAxisSpec(
        tickFormatterSpec: new charts.AutoDateTimeTickFormatterSpec(
            day: new charts.TimeFormatterSpec(
                format: 'd', transitionFormat: 'MM/dd/yyyy')))

В вашем случае вы можете просто указать format в TimeFormatterSpec конструктор, и установите его свойства так, чтобы вместо дня показывался год.

Не знаю, знаете ли вы об этом, но разработчики из пакета charts_flutter имеют много очень полезных примеровкоторые выделяют различные параметры настройки, которые вы можете использовать в своих диаграммах, в их галерее образцов . Они могут быть полезны для вас в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...