我有一个自动生成滴答的轴:
var yAxisRight = d3.axisRight(yScale)
var yAxisRightG = g.append("g")
.call(yAxisRight);
// What to call here
var yAxisRightTickValues = ???
我天真地认为调用类似于yAxisRight.tickValues()
的东西会给出值,但是当它们自动生成时,它会返回null
。
如何获得由d3 (版本4)自动生成的tickValues?
发布于 2017-04-27 13:25:49
如果您有一个连续的刻度,您可以使用scale.ticks()
使蜱传递到轴生成器。
在这个演示中,console.log
显示了每个轴的刻度:
var scale = d3.scaleLinear()
.range([20, 280]);
[100, 50, 210, 350].forEach(function(d, i) {
scale.domain([0, d]);
d3.axisBottom(scale)(d3.select("svg").append("g").attr("transform", "translate(0,"
+ (10 + 25 * i) + ")"));
console.log("the scale " + i + " has these ticks: " + scale.ticks())
})
<script src="https://d3js.org/d3.v4.min.js"></script>
<svg></svg>
https://stackoverflow.com/questions/43658591
复制相似问题