2013-04-30 13 views
5

Wtyczka Flot FillBetween dobrze współpracuje z wykresami liniowymi. Muszę jednak wygładzić linie i sprawić, by były bardziej kręte. Widziałem CurvedLined plugin i Spline plugin, ale oba nie działają poprawnie z wtyczką fillbetween.Flot zakrzywione linie/wtyczka Spline, która działa z wtyczką FillBetween?

Czy istnieje sposób użycia dwóch linii zakrzywionych/Spline i wypełnienia obszaru między nimi? Coś jak obrazek poniżej. Wypełnia również zamknięty obszar między dwiema seriami w dowolnym momencie, gdy jeden przechodzi przez drugi.

enter image description here

Odpowiedz

1

jestem zaznajomiony z FillBetween wtykowych. Zamierzam skupić się na wsparciu części wygładzającej. Miałem podobny problem, gdy te opcje wygładzania również nie działały dla mnie. Użyłem zewnętrznej wtyczki do wygładzenia. Nazywa się smooth.js i działało dla mnie. Smooth.js recives tablica danych i zwraca funkcję. Aby uzyskać "wygładzony punkt", należy zastosować tę funkcję do dowolnej wartości między 0 a długością tablicy. Chodzi o to, aby uzyskać więcej punktów niż oryginalny zestaw danych.

Na przykład, w celu wygładzenia tablicę wartości nazwie 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)); 
} 

I dokonanych JSFiddle z tego przykładu. Możesz użyć tej wtyczki i przekazać wygładzone dane do flotowania, a następnie użyć funkcji FillBetween.

+0

Jak wygładzić obiekt? '{date (milli): percent, date (milli), percent}' ... etc ... – shorif2000