...interpolate is not a function,绘制平滑曲线

在D3 interpolate 是v3中的api, v4 v5 中,线生成器采用曲线来定义插值:

虽然将线定义为二维[x,y]点的序列,并通过轮廓线和基线类似地定义区域,但是仍然存在将这种离散表示转换为连续形状的任务:即,如何在要点。daccess-ods.un.org daccess-ods.un.org为此目的提供了各种曲线,通常不会直接构建或使用它们,而是传递给线 .curvearea .curve

错误代码:

var line = d3.line()

.x(function (d, i) {

if (indexData) {

return xScale(xDomain[indexData[i]]);

        }else {

return xScale(xDomain[i]);

        }

})

.y(function (d, i) {

return yScale(d);

    })

.interpolate("cardinal")

正确的应该是:

var line = d3.line()

.x(function (d, i) {

if (indexData) {

return xScale(xDomain[indexData[i]]);

        }else {

return xScale(xDomain[i]);

        }

})

.y(function (d, i) {

return yScale(d);

    })

.curve(d3.curveBasis);

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容