【问题标题】:x axis on c3 chart shows only first and last valuec3 图表上的 x 轴仅显示第一个和最后一个值
【发布时间】:2016-08-20 12:21:37
【问题描述】:

我正在为 js 使用 c3 图表。我的代码如下:

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

我有一个问题。在 x 轴上仅显示第一个和最后一个值(第 12 个)。

【问题讨论】:

    标签: javascript graph c3.js


    【解决方案1】:

    这是 c3 中的一个已知错误,如果刻度应以小数 x 值出现(即刻度数意味着它应该每隔 2.06666 个类别弹出一次),那么它不会呈现 --> https://github.com/c3js/c3/issues/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),它们都会避免您最初的问题并很好地排队。

    例如(datapoints - 1)/(no.of.ticks - 1) == 整数

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      相关资源
      最近更新 更多