From 370e208fa5e0f846a925ba7ee2f1bfa9e3abacdb Mon Sep 17 00:00:00 2001 From: Michael Zinsmaier Date: Mon, 3 Nov 2014 23:33:54 +0100 Subject: [PATCH] changed the readme text --- README | 66 +++++++++++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 28 deletions(-) diff --git a/README b/README index 43f88a3..f66a3f2 100644 --- a/README +++ b/README @@ -1,41 +1,51 @@ -CurvedLines is a plugin for flot, which displays lines in a smooth curved way. This is achieved by adding additional points in between the "real" data points. See the test files for examples. - -The plugin is based on nergal.dev's work and gives you an option to display curved lines. I further extended the code with a 2nd mode, which forces the lines to have their minima/maxima on the original data points. +## What it is ## +CurvedLines is a plugin for flot, which displays lines in a smooth curved way. This is achieved by adding additional points in between the "real" data points. See the test files for examples. Feel free to add additional features and correct errors. Regards Michael -Update -added tests/Issue18.htm with a better explanation of the curvePointFactor -and fitPointDist parameter! +## Hermite Splines v1.x.y ## + +With the new version 1.x.y the original curve computation (nergal.dev's code) has been replaced by a new algorithm which computes hermite splines. +In general the result should be closer to the data however the old implementation is still accessible through the legacyOverride option. + +The approximation with local third-degree polynoms solves some existing issues. The problematic parameters curvePointFactor and fitPointDist are both gone +and I hope that the new nrSplinePoints needs less manual adjustment (basically only wiht zoom) and is easier to understand. + +The old fit option has been replaced with monotonicFit, which if set, enforces the use of the Fritsch-Carlson method (anti wiggle no overshooting / undershooting). + +## Hands on ## + + how to use it: + ____________________________________________________ - - - - how to use it: - ____________________________________________________ + var d1 = [[5,5],[7,3],[9,12]]; - var d1 = [[5,5],[7,3],[9,12]]; + var options = { series: { curvedLines: { active: true }}}; - var options = { series: { curvedLines: { active: true }}}; + $.plot($("#placeholder"), [{data: d1, lines: { show: true}, curvedLines: {apply: true}}], options); - //you might want to adjust curvePointFactor - $.plot($("#placeholder"), [{data = d1, lines: { show: true}, - curvedLines: {apply: true}}], options); + _____________________________________________________ - _____________________________________________________ + options: + _____________________________________________________ - options: - _____________________________________________________ + active: bool true => plugin can be used + apply: bool true => series will be drawn as curved line + monotonicFit: bool true => uses monotone cubic interpolation (preserve monotonicity) + tension: int defines the tension parameter of the hermite spline interpolation (no effect if monotonicFit is set) + nrSplinePoints: int defines the number of sample points (of the spline) in between two consecutive points - active: bool true => plugin can be used - apply: bool true => series will be drawn as curved line - fit: bool true => forces the max,mins of the curve to - be on the datapoints - curvePointFactor int defines how many "virtual" points are used per "real" data - point to emulate the curvedLines (points total = real - points * curvePointFactor) - fitPointDist: int defines the x axis distance of the additional two points - that are used to enforce the min max condition. + deprecated options from flot prior to 1.0.0: + ------------------------------------------------ + legacyOverride bool true => use old default + OR + legacyOverride optionArray + { + fit: bool true => forces the max,mins of the curve to be on the datapoints + curvePointFactor int defines how many "virtual" points are used per "real" data point to + emulate the curvedLines (points total = real points * curvePointFactor) + fitPointDist: int defines the x axis distance of the additional two points that are used + } to enforce the min max condition. \ No newline at end of file