Установите расстояние по оси Y в c3 - PullRequest
0 голосов
/ 03 июня 2018

У меня есть следующая диаграмма, и я хочу сделать интервалы между осями Y только (когда данные для отображения низкие, я получаю десятичные дроби: 0,1, 0,2 ...).Кто-нибудь может помочь?

var Presence = c3.generate({
        bindto: '#presence',
        data: {
            url: 'ranking.csv',
            x:'AC_YEAR',
            types: {
                Number_students: "bar",
                Ranking: 'spline'
            },
            axes:{
                Number_students: "y",
                Ranking: "y2"
            }
        },
        axis: {
            y: {
                label: {
                text:"Students",
                position: "outer-middle"
                },
                tick: {
                    outer: false}
            },
            y2: {
                inverted:true,
                show: true,
                label: {
                    text:"Ranking position",
                    position: "outer-middle"
                },
                tick: {
                    outer: false
                }
            },
            x: {
                label: {
                text:"Year",
                position: "outer-center"
                },
                tick: {outer: false}
            }
        },
        size: {
            height: 400,
            width: 800
        },    
});

CSV-файл выглядит следующим образом:

AC_YEAR,Number_students,Ranking
2011,1,103
2012,2,30
2014,1,178
2015,1,188

Но CSV меняется с течением времени, а иногда количество студентов составляет 100. Вот почему яне хотите фиксировать значения на оси Y, избегайте плавать только при малом количестве учеников (1 или 2)

Заранее спасибо!

1 Ответ

0 голосов
/ 05 июня 2018

Установка функции форматирования галочки y для возврата пробелов не целых чисел

    y: {
        label: {
        text:"Students",
        position: "outer-middle"
        },
        tick: {
            format: function (d) { 
                return Math.abs(Math.round(d) - d) < 0.001 ? d : ""; 
            },
            outer: false
            }
    },
...