flutter - 图表_ flutter : Different color for negative values in line chart

标签 flutter charts

这段代码:

Widget _chart(ctx) =>
    TimeSeriesChart(_data(),
        customSeriesRenderers: [
            LineRendererConfig(
                customRendererId: 'filled',
                includeArea: true,
            ),
        ],
    );

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,
        )
            ..setAttribute(rendererIdKey, 'filled')
    ];

生成此图表:

Sample chart

如何使负填充区域具有不同的颜色,例如红色?

如果您可以使颜色呈渐变(对于负值和正值),则加分。

最佳答案

不确定您是否仍然需要它,因为问题是从 2019 年开始的……据我所知,使其渐变(仍然)是不可能的。但是我认为可以通过根据值更改线条的颜色来更改区域颜色。像这样:


List<Series<Point, DateTime>> _data() =>
          [
              Series<Point, DateTime>(
                  id: 'Data',
                  colorFn: (Point p, _) { 
                    if(p.amount < 0 || p.amount == 0){ 
                      return MaterialPalette.red.shadeDefault;
                    } else {
                      return MaterialPalette.blue.shadeDefault;
                    }
                  },
                  data: store.data,
                  domainFn: (Point p, _) => p.timestamp,
                  measureFn: (Point p, _) => p.amount,
              )
                  ..setAttribute(rendererIdKey, 'filled')
          ];

如果值从正变为负,请务必插入一个假的 0 值。由于线条是逐点着色的。否则,您会看到蓝线进入负区域。

以上作品: screenshot area with two colors

关于flutter - 图表_ flutter : Different color for negative values in line chart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58668220/

相关文章:

flutter - 获取 token 失败

android - Flutter 检索 ro.product.cpu.abi 的设备属性时出错

android - 如何解决错误 : app:checkDebugAarMetadata

charts - 如何删除 dojo 折线图中虚线的灰色背景?

android - 在android中显示股票图表的最佳和简单的方法是什么?

latex - 在 LaTeX 中绘制条形图的最佳方法?

textarea - 有没有办法动态改变 Flutter TextField 的 maxLines?

Flutter:如何取消任务

iphone - 如何绘制心率图表?

java - BIRT:复杂折线图