【问题标题】:Victory Charts -- Break Line胜利图——折线
【发布时间】:2021-03-26 23:59:22
【问题描述】:

是否可以打破胜利图表中的情节线?我可以通过制作两条相同颜色的不同情节线来做到这一点,但我正在寻找一种自动方式。我有很多零的数据,我只想要曲线。如果我删除零值,线条就会连接起来。

我有这个。这些线在轴原点下方的零处连接:

我想要这个:

【问题讨论】:

    标签: javascript victory-charts


    【解决方案1】:

    我用这个函数从一个零数组中创建了多条数据线:

    export function breakLine(buffer: any[], startTime: any) {
      let zeroCounter = 0;
      let signalCounter = 0;
      let curr: any[] = [];
      let result: any[] = [];
      buffer.forEach((value: any) => {
        // any value less than 20 will be considered a zero
        if (value.result[0] < 20) {
          zeroCounter++;
        } else {
          curr = [
            ...curr,
            {
              x: value.time - startTime,
              y: value.result[0],
            },
          ];
          signalCounter++;
          zeroCounter = 0;
        }
    
        // break line on 3 or more consecutive zeroes
        if (zeroCounter >= 3 && signalCounter > 0) {
          result = add(curr, result);
          zeroCounter = 0;
          signalCounter = 0;
          curr = [];
        }
      });
      // remaining in current after loop
      result = add(curr, result);
      return result.filter((plot: any) => plot.length > 0);
    }
    

    我为每个嵌套数组映射一行:

    line1.map((data) =>
            <VictoryLine
            style={{
                data: { stroke: '#0000FF' },
                parent: { border: '1px solid #ccc' },
            }}
            data={data}
        />)
                
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-28
      • 1970-01-01
      • 2022-09-28
      • 1970-01-01
      • 2021-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多