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

D3-数据更改后更新单个网格线

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

    我这里有一个斯塔克布里茨- https://stackblitz.com/edit/chart-enter-update-group-children-mt-tbxtau?file=src%2Fapp%2Fbar-chart.ts

    它是一个角度应用程序中的d3图表。

    图表水平和垂直网格线。

    我想把100%网格的样式和其他网格的样式不同

    我可以用

    d3.selectAll('g.tick')
      .filter((d) => d===100)
      .attr('class', 'grid-100')
    

    我的问题是,当数据更改时,这不会更新。

    如何在输入和更新部分代码中设置此网格线的样式。

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

    通过使用 attr() ,您正在替换的现有类 tick (因此,当您致电 this.y_axis )

    使用 classed() 而是添加自定义类 .grid-100 离开的时候 .tick 就位。

      d3.selectAll('g.tick')
          .filter((d) => d===100)
          .classed('grid-100', true)
    

    Updated stackblitz