var valueline = d3.svg.line()
.interpolate("monotone")
.x(function(d) { return x(d.t); })
.y(function(d) { return y(d.r); });
这会使线条更平滑一些。
有没有办法控制平滑的强度?
插值函数的其他字符串值(如:基数、基数...)提供良好的平滑效果,但也会改变线条的形状。
我需要的是类似“单调”但更强的东西。只使边 Angular 光滑圆润。
documentation显示我可以使用自定义插值函数,但很少提及如何制作它。
最佳答案
一个选项是基数样条。基数样条具有 .tension()
参数,其取值介于 0 和 1 之间,默认值为 0.7。通过使用此参数,您可能能够实现您想要的结果。
如果这不能满足您的要求,您唯一的选择是实现自定义插值器。您链接到的文档页面实际上有很多关于如何实现的细节,包括线性插值的定义和 example自定义线插值。
关于javascript - d3 线条平滑(比单调强),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21563620/