Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

leftScaleStepWidth depending on bar data value #485

Closed
luna2761 opened this issue Dec 12, 2016 · 3 comments
Closed

leftScaleStepWidth depending on bar data value #485

luna2761 opened this issue Dec 12, 2016 · 3 comments

Comments

@luna2761
Copy link

Hello, Francois!

I have bar chart with endDrawDataFunction and two scaleOverride. The problem is I can't use some unique value as I want to have reusable function for creating charts with different data values for bars.
Please, advice, can we somehow make leftScaleStepWidth = auto? So the value will be automatic according to biggest bar data value?

Thank you.

@FVANCOP
Copy link
Owner

FVANCOP commented Dec 12, 2016

Hi,

Unfortunately, the "auto" (or similar) value is not available for leftScaleStepWidth.

Currently busy with a new add-ins for issue #460; As soon it is published, I will check how to solve this issue.

Regards,
François

FVANCOP pushed a commit that referenced this issue Jan 22, 2017
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 !).
@FVANCOP
Copy link
Owner

FVANCOP commented Jan 22, 2017

Hi,

Has promised, the code has been updated; With the new code, you can specify new options that makes the definition of the y axis more flexible.

@luna2761 : Is this solution sufficient for your problem ?

Regards,
François

-> 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 !).

@luna2761
Copy link
Author

luna2761 commented Feb 6, 2017

Hi, François,

I've used calculated graphMin and graphMax values. This helped.
Generally it's really much more flexible now,

Thank you!

@luna2761 luna2761 closed this as completed Feb 6, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants