作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
Flot FillBetween 插件可以很好地处理折线图。但是我需要平滑线条并使它们更加弯曲。我看过 CurvedLined plugin和 Spline plugin但两者都不能与 fillbetween 插件一起正常工作。
有什么方法可以使用两条曲线/样条线系列并填充它们之间的区域?像下图这样的东西。当一个系列与另一个系列交叉时,也随时填充两个系列之间的任何封闭区域。
最佳答案
我不熟悉 FillBetween 插件。我将专注于回答平滑部分。我有一个类似的问题,那些平滑选项对我也不起作用。我使用了一个外部插件来进行平滑处理。它的名字是smooth.js它对我有用。Smooth.js 接收数据数组并返回一个函数。要获得“平滑点”,请将该函数应用于 0 和数组长度之间的任何值。想法是获得比原始数据集更多的点。
例如,平滑一个名为 test 的值数组:
//obtaining smoothing function
var s = Smooth(test, {
method: Smooth.METHOD_CUBIC,
});
//obtaining smoothed data
//asking for 10 "smoothed points" per each point in the original dataset
test_smoothed = [];
for (var i = 0; i <= test.length; i = i + .1) {
test_smoothed.push(s(i));
}
我做了一个JSFiddle用这个例子。您可以使用此插件并将平滑后的数据传递给 flot,然后使用 FillBetween。
关于javascript - 与 FillBetween 插件一起使用的 Flot 曲线/样条插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16305628/
Flot FillBetween 插件可以很好地处理折线图。但是我需要平滑线条并使它们更加弯曲。我看过 CurvedLined plugin和 Spline plugin但两者都不能与 fillbet
我是一名优秀的程序员,十分优秀!