2013-04-30 61 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