1 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個(gè)贊
不幸的是,你現(xiàn)在看到的...
const s = d3.scaleLog().domain([1.8e-7, 0.017]);
console.log(s.ticks())
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
...是預(yù)期的結(jié)果(重點(diǎn)是我的):
對(duì)數(shù)刻度的特殊之處還在于 scale.ticks會(huì)忽略指定的計(jì)數(shù) ( source )。
因此,一種可能的解決方案是使用 過(guò)濾刻度scale.tickFormat()
。例如,保持 10 個(gè)刻度:
const s = d3.scaleLog().domain([1.8e-7, 0.017]);
const format = s.tickFormat(10);
console.log(s.ticks(10).filter(format));
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
添加回答
舉報(bào)