【问题标题】:Draw a Constant Line in D3.js over another Line Graph在 D3.js 中在另一个折线图上绘制一条常量线
【发布时间】:2021-11-22 11:47:47
【问题描述】:

目标是显示一条线作为阈值。

这是从值绘制的线。

注意:lineGenerator 只是从压缩数据中获取相应的 x、y。

    svg
      .append('path')
      .data([d3.zip(xValues, yValues)])
      .attr('fill', 'none')
      .attr('stroke', '#000')
      .attr('stroke-width', 1.5)
      .attr('d', lineGenerator);

但是,当我想在顶部添加一个只是常数的额外折线图时,它似乎不想以相同的比例绘制。下面的代码产生的行大约是总 x 值的 1/8,我知道 xExtent 是正确的。

注意:xExtent 只是前一个路径中 X 值的最小值/最大值。

    svg
      .append('line')
      .attr('x1', xExtent)
      .attr('y1', 1.5)
      .attr('x2', xExtent[1])
      .attr('y2', 1.5)
      .attr('stroke', '#000')
      .attr('stroke-width', 1.5);

不太确定我做错了什么,因为我希望这条恒定线显示在整个图表的顶部。

【问题讨论】:

    标签: reactjs d3.js linegraph


    【解决方案1】:

    参考:http://bl.ocks.org/mikehadlow/93b471e569e31af07cd3

    var xScale = d3.time.scale().range([0, width]).domain(xDomain);
    var yScale = d3.scale.linear().range([height, 0]).domain(yDomain);    
    
    g.append('line')
       .attr('x1', xScale(xDomain[0]))
       .attr('y1', yScale(warnLine.lineValue))
       .attr('x2', xScale(xDomain[1]))
       .attr('y2', yScale(warnLine.lineValue))
       .attr('class', 'zeroline');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      • 1970-01-01
      相关资源
      最近更新 更多