private getYAxisScales()

in src/visual.ts [940:967]


    private getYAxisScales(height: number): LinearScale[] {
        let data: ChartData = this.data,
            stepOfHeight: number = height / data.grouped.length;

        return <LinearScale[]>data.grouped.map((group: DataViewValueColumnGroup, index: number) => {
            let values: number[] = group.values[0].values.map(x => <number>x || 0);

            let minValue: number = Number.MAX_VALUE,
                maxValue: number = -Number.MAX_VALUE;

            values.forEach((value: number) => {
                if (value < minValue) {
                    minValue = value;
                }

                if (value > maxValue) {
                    maxValue = value;
                }
            });
            if (maxValue === minValue) {
                let offset = maxValue === 0 ? 1 : Math.abs(maxValue / 2);
                maxValue += offset;
                minValue -= offset;
            }

            return Visual.createScale(true, [maxValue, minValue], stepOfHeight * index, stepOfHeight * (index + 1));
        });
    }