我正在使用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函数设置。第一种方法是优选的,因为它需要更少的代码。有没有办法做到这一点?
答案 0 :(得分:2)