2013-04-30 60 views
5

Flot FillBetween插件与折线图很好地配合使用。不过,我需要平滑线条并使其更加曲线。我已经看到了CurvedLined pluginSpline plugin,但两者都无法与fillbetween插件正常工作。Flot使用FillBetween插件的曲线/ Spline插件?

有什么办法可以使用两条曲线/样条曲线系列并填充它们之间的区域吗?像下面的图像。任何时候当一个穿过另一个时,也填充两个系列之间的任何封闭区域。

enter image description here

回答

1

我不熟悉FillBetween插件。我将关注于平滑的部分。 我有一个类似的问题,那些平滑选项也不适用于我。我使用外部插件来平滑。它的名字是smooth.js,它为我工作。 Smooth.js接收数据数组并返回一个函数。要获得“平滑点”,请将该函数应用于0到数组长度之间的任何值。这个想法是获得比原始数据集更多的点。

例如,以平滑命名测试值的数组:

//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。

+0

如何平滑物体? '{date(milli):percent,date(milli),percent}'...等... – shorif2000 2016-02-17 17:44:29