如何禁用d3对数刻度中的次要刻度?

时间:2014-04-19 07:07:46

标签: javascript d3.js label axes

我有我的实时d3对数比例图如下所示:

my real time log scale graph

我想只显示标签的主要标记:10 ^ -2,10 ^ -1,10 ^ 0,10 ^ 1,10 ^ 2

不是次要的嘀嗒声

我希望日志Y轴看起来像这样,没有次要的刻度:

enter image description here

我该怎么做?

编辑:发布一些代码

svg = d3.select("#chart1").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom);

y = d3.scale.log().domain([1e-1, 1e2]).range([height, 0]);

yAxis = d3.svg.axis().scale(y).orient("left");

svg.selectAll("g.y.axis")
.call(yAxis)    
.selectAll(".tick text")
.text(null)
.filter(powerOfTen)
.text(10)
.append("tspan")
.attr("dy", "-.7em")
.text(function(d) { return Math.round(Math.log(d) / Math.LN10); });

您可能也有兴趣知道如何获得powerOfTen的自定义标签。如果是这样,您可能需要参考here

编辑:您可以修改我的jsfiddle

1 个答案:

答案 0 :(得分:0)

Karsthoff建议

var yAxis = d3.svg.axis().scale(y).tickSize(0).tickValues([1e-1,1e0,1e1,1e2]).orient("left");

这个答案强制label,但major tick未被绘制.....