【问题标题】:Reducing the number of ticks in billboard.js chart减少 billboard.js 图表中的刻度数
【发布时间】:2017-12-08 17:08:20
【问题描述】:

我正在使用 billboard.js 创建小图表,并希望减少垂直轴上的刻度数以使图表更具可读性。这可以通过设置tick count 来实现,但这会强制精确的刻度数,而不是动态选择一个接近但不完全等于您选择的数字,以便刻度标签看起来很漂亮。例如,请参阅此 jsfiddle 演示一组非最佳刻度标签:

var chart = bb.generate({
    bindto: "#chart",
    data: {
        type: "bar",
        columns: [
            ["data1", 30, 200, 100, 170, 150, 250],
            ["data2", 130, 100, 140, 35, 110, 50]
        ]
    },
    size: {
        width: 150,
      height: 150
    },
    legend: {
        show: false
    },
    axis: {
        y: {
        tick: {
            count: 5
        }
      }
    }
});

我可以想出两种方法来解决这个问题。首先,绘制完图表后,调用内部 d3 轴对象(位于chart.internal 层次结构下的某个位置)以更智能的方式更改刻度。其次,提取数据的范围,创建一个d3轴和缩放对象,使用是计算刻度数,然后使用billboard.js函数设置。第一种方法更可取,因为它需要更少的代码。有没有办法做到这一点?

【问题讨论】:

    标签: d3.js billboard.js


    【解决方案1】:

    您可以处理tick.values,而不是设置滴答计数。

    axis: {
        y: {
            tick: {
                values: [50,100,150,200,250]
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2011-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多