Не работает зажим для заправочной жидкости d3.js
Я пытаюсь использоватьДатчик заполнения жидкостью d3.js в моем веб-приложении angular2, но не работает clippath, что означает, что волна вообще не создается.
Поскольку angular2 работает на машинописи, я кое-что подправил, чтобы исправить синтаксическую ошибку. Фрагмент кода пути клипа приведен ниже.
// The clipping wave area.
var clipArea = d3.svg.area()
.x(function(d) { return waveScaleX(d[0]); } ) // it was d.x in js version
.y0(function(d) { return waveScaleY(Math.sin(Math.PI*2*config.waveOffset*-1 + Math.PI*2*(1-config.waveCount) + d[1]*2*Math.PI));} ) // it was d.y in js version
.y1(function(d) { return (fillCircleRadius*2 + waveHeight); } );
var waveGroup = gaugeGroup.append("defs")
.append("clipPath")
.attr("id", "clipWave" + elementId);
var wave = waveGroup.append("path")
.datum(data)
.attr("d", clipArea)
.attr("T", 0);
// The inner circle with the clipping wave attached.
var fillCircleGroup = gaugeGroup.append("g")
.attr("clip-path", "url(#clipWave" + elementId + ")"); //clippath not working
fillCircleGroup.append("circle")
.attr("cx", radius)
.attr("cy", radius)
.attr("r", fillCircleRadius)
.style("fill", config.waveColor);
Я понятия не имею, как это исправить. Возможно ли изменениеreturn waveScaleX(d.x)
вreturn waveScaleX(d[0])
терпит неудачу это? Но машинопись не принимает прежний синтаксис.