代码之家  ›  专栏  ›  技术社区  ›  ttmt

D3堆叠条形图双轴带线图

  •  0
  • ttmt  · 技术社区  · 6 年前

    我在这里有一个斯塔克布利茨- https://stackblitz.com/edit/d3-stacked-trend-bar-positioned-months-4sqvwd?embed=1&file=src/app/bar-chart.ts&hideNavigation=1

    我现在还需要在同一张图表上有一个折线图。

    我有第二个轴工作,但不能让线工作。

    有人能给我指个方向让它工作吗

    1 回复  |  直到 6 年前
        1
  •  1
  •   Shashank    6 年前

    这个 line 功能( 在您的例子中)似乎没有正确定义,因为它缺少访问器函数。这是 docs 同样的。

    private drawLine(linedata:any){
      var that = this;
      var valueline = d3.line().x(function(d, i) { 
        return that.x1(d.date); 
       // return that.x0(d.date) + 0.5 * that.x0.bandwidth();
      }).y(function(d) { 
        return that.y1(d.value); 
      });
    
      this.x1.domain(this.data.map((d:any)=>{
        return d.date
      }));
    
      this.y1.domain(d3.extent(linedata, function(d) { 
        return d.value 
      }));
    
      this.lineArea.append("path")
        .data([linedata])
        .attr("class", "line").style('stroke-width', 2)
        .attr("d", valueline);
    }
    

    它的工作,我也包括一个评论行为 x x0 按新定义缩放 x1 具有与 . 希望这有帮助。