javascript - d3 线条平滑(比单调强)

标签 javascript svg d3.js linear-interpolation

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/

相关文章:

javascript - 在 safari 中显示 pdf 文档

javascript - 如何从检查的代码中查找类名

svg - 为什么 bodymovin 导出 PNG 而不是 SVG?

javascript - 调用 .raise() 后回到之前的子顺序

javascript - 想要更改使用 <object> 加载的 SVG 的颜色

javascript - 单击 li 时如何在输入值后添加 ,(逗号)?

JavaScript 循环结束 NaN 用于数字加法

d3.js - D3 : Can't select a subset of my dataset

javascript - d3.js 强制定向图的日期时间解析和过滤

javascript - 当 `this` 不可用时从拖动回调中检索 DOM 目标