Morris JS – JSON Veriden Ymax ve Ymin Değerlerini Elde Etme – Getting Ymax and Ymin Value From JSON Data

Morris JS kullanırken grafikte göstermek istediğiniz verilerin Y aralıkları sabit değil değişken ise bazı sorunlar yaşayabiliyorsunuz. Ymax ve Ymin değerlerini kendiniz elde etmeniz gerekiyor. Bunun içinde yapmanız gereken stackoverflow’da bir vatandaşın yazdığı şu fonksiyonu kullanmak.

I could find nothing else to manage the y-axis in Morris so I built my own function to find min and max:

function min_and_max(json_data) {
    var min = Number.MAX_VALUE;
    var max = Number.MIN_VALUE;
    for (var data_key in json_data) {
        var entry = json_data[data_key]
        for(var key in entry) {
            var x = entry[key];
            if (!isNaN(x)) { // to avoid using date object
                if (x < min) {min = x;}
                else if (x > max) {max = x;}
            }
        }
    }
    return {'min': min, 'max': max};
}

So I could use it when creating the chart like:

var limits = min_and_max(data);
var keys = Object.keys(data[0]);
keys = keys.filter(function(e){return e!=='date'});
new Morris.Line({
    element: element,
    data: data,
    xkey: 'date',
    ykeys: keys,
    labels: keys,
    ymin: limits['min'],
    ymax: limits['max'],
    hideHover: true
});

Kaynak : https://stackoverflow.com/questions/33946724/how-to-set-smart-morris-js-line-chart-y-boundaries