动态更改D3中的刻度数

时间:2014-11-05 14:38:07

标签: d3.js

我尝试通过输入字段动态更改轴上的刻度数

// updated by an input field
var nNumberOfTicks;
function updatenumberofticks(nValue) { nNumberOfTicks = nValue; }

// definition of the axis
var xAxis = d3.svg.axis()
  .orient('bottom')
  .ticks(nNumberOfTicks)
  .scale(xScale);

但它不起作用。见这里:http://jsfiddle.net/stefanooo/cn2xo56w/3/

此示例在更改xmin时非常有效。我还需要做些什么才能使其适用于滴答数?

1 个答案:

答案 0 :(得分:1)

更改后,您需要向轴组件提供更新的刻度数,例如

d3.select("#numberofticks").on("change", function() { updatenumberofticks(+this.value); vis.select('.xaxis').transition().call(xAxis.ticks(+this.value)); });

完整示例here