var valueline = d3.svg.line()
.interpolate("monotone")
.x(function(d) { return x(d.t); })
.y(function(d) { return y(d.r); });这会使线条更平滑一些。
有没有办法控制平滑的强度?
插值函数的其他字符串值(如: basis,cardinal...)提供良好的平滑度,但也改变了线条的形状。
我需要的是一些像“单调”但更强的东西。只做圆角和圆角。
documentation展示了我可以使用自定义插值函数,但很少提到如何实现它。
发布于 2014-02-05 05:28:24
一种选择是基数样条。基数样条线具有.tension()参数,该参数采用0到1之间的值,默认值为0.7。通过使用此参数,您可能能够实现您想要的结果。
如果这不能满足您的需求,那么您唯一的选择就是实现一个自定义的内插器。您链接到的文档页面实际上有一些关于如何实现的详细信息,包括线性插值的定义和自定义直线插值的example。
https://stackoverflow.com/questions/21563620
复制相似问题