FVANCOP / ChartNew.js

MIT License
420 stars 143 forks source link

new options for the Y scale #494

Closed FVANCOP closed 7 years ago

FVANCOP commented 7 years ago

In order to solve request #485 , new options have been introduced for axis. With those new options, the minimum value, maximum value, number of steps and step width can be better managed by the user. The algorithm for computing the y Axis has been changed (in previous version a getValueBounds function was written for all type of charts; In new version, the getValueBounds functions have been replaced by a unique function and integrated with the scale computation - with this change, code could be reduced). In theory, those changes are transparents except in some specific cases : bugs have been found in previous version and are now fixed in this release. So it can be that the display is a little bit different in some cases.

The code has also been updated to solve issue #493 but I'm not sure that this will be correct in all cases...

-> forceGraphMin and forceGraphMax : (see https://github.com/FVANCOP/ChartNew.js/wiki/100_070_Charts_Layout#forcegraphmax)

When option graphMin (resp: graphMax) is specified, the minimum (resp:maximum) value of the Y axis is set by the value associated to graphMin (resp:graphMax) even if the minimum (resp: maximum) value to be displayed is lower (resp: greater) that this value. Is you set option forceGraphMin (resp:forceGraphMax) to false (default value is true), the minimum (resp:maximum) value of the axis will at most (resp:least) the value of graphMin (resp:graphMax) but will be lower (resp:greater) if the minimum (resp: maximum) of the value to be displayed is lower (resp:greater) than graphMin (resp:graphMax).

-> forceScale (see https://github.com/FVANCOP/ChartNew.js/wiki/100_030_Axis#forcescale )

When scaleOverride option is set to false (which is the default value for this option), the Y Scale layout (minimum value, maximum value, number of steps and step width) is computed by the application. The minimum and the maximum values can be forced through options graphMin and graphMax options. If you want to force the number of steps or the stepWidth, you can specify it through option forceScale. If option forceScale is set to "steps", the number of steps for the y axis is defined by the value of option scaleSteps (=> If you set option forceScale to "steps", do not forget to also define a value for option scaleSteps !). If option forceScale is set to "stepWidth", the width of the steps for the y axis is defined by the value of option scaleStepWidth (=> If you set option forceScale to "stepWidth", do not forget to also define a value for option scaleStepWidth !).