【发布时间】:2014-03-02 05:24:31
【问题描述】:
我正在 d3.js 中创建一个 svg x-y-chart。是否可以根据 tickValue 创建不同长度的刻度?
我已经创建了自己的 tickFormat 函数 myTickFormat 并在 .tickFormat([format]) 中使用它,因为 [format] 应该是一个函数,所以效果很好。但是不可能对.innerTickSize([size]) 做同样的事情,它需要一个数字。
例如如果我希望值 70 的刻度更长,我想做这样的事情:
var myTickSize = function(d) {
if (d === 70) { return 20;}
return 6;
};
但是当我使用myTickSize 作为.innerTickSize() 的参数时:
var yScale = d3.scale.linear();
var yAxis = d3.svg.axis()
.scale(yScale).orient("left")
.innerTickSize(myTickSize);
我收到 Error: Invalid value for attribute x2="NaN" 错误。
【问题讨论】:
标签: javascript svg d3.js