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

时间:2019-01-09 15:44:14

标签: d3.js

我这里有个突如其来的飞车-https://stackblitz.com/edit/chart-enter-update-group-children-mt-tbxtau?file=src%2Fapp%2Fbar-chart.ts

它在有角度的应用程序中是d3图表。

图表horizinatalk和垂直网格线。

我想为100%网格设置与其他网格不同的样式

我可以使用

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

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

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

1 个答案:

答案 0 :(得分:1)

通过使用attr(),您将替换现有的tick类(因此,当您调用this.y_axis时,该特定的滴答声将不会被替换)。

使用classed()来添加自定义类.grid-100,同时将.tick留在原处。

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

Updated stackblitz