ось x на графике c3 показывает только первое и последнее значение

javascript graph c3.js

585 просмотра

1 ответ

Я использую диаграмму C3 для JS. Мой код ниже:

c3.generate({
        bindto:'#someChart',
        data: {
            columns: [
                data
            ]
        },
        axis: {
            x : {
                type: 'categories',
                categories:categories,
                tick:{
                    count: 12
                }
            }
        },
        point:{
            show:false
        }
    });

У меня есть одна проблема. На оси х показано только первое и последнее значение (12-е).

Автор: bajky Источник Размещён: 08.11.2019 11:18

Ответы (1)


0 плюса

Это известная ошибка в c3, когда тик должен возникать при дробном значении x (т. Е. Количество тиков означает, что он должен всплывать, скажем, каждые 2.06666 категорий), тогда он не рендерится -> https: // github. ком / c3js / c3 / вопросы / 1638

Там есть исправление, которое предлагается запустить перед созданием диаграммы ->

c3.chart.internal.fn.categoryName = function (i) {
    var config = this.config, categoryIndex = Math.ceil(i);
    return i < config.axis_x_categories.length ? config.axis_x_categories[categoryIndex] : i;
};

Но я нахожу, что, хотя теперь он показывает правильное количество тактов, он часто все еще не выстраивает метки и хорошо подходит к точкам данных (они расположены частично между ними).

На этом этапе лучше, если вы можете, установить число тиков (-1), чтобы делить без дроби на количество точек данных (-1), которые вы хотите показать, и они оба будут избегать вашего начального выпускать и выстраиваться красиво.

например (точки данных - 1) / (no.of.ticks - 1) == целое число

Автор: mgraham Размещён: 22.08.2016 12:14
Вопросы из категории :
32x32