javascript - 如何禁用 d3 对数刻度中的小刻度?

标签 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

最佳答案

由拉尔斯·科托夫建议

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

此答案强制使用标签,但未绘制主要刻度......

关于javascript - 如何禁用 d3 对数刻度中的小刻度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23167075/

相关文章:

javascript - AngularJS Http 与 Jquery Ajax

javascript - Cypress:测试元素是否不存在

javascript - 过滤 <td> 元素中带有空格的匹配文本

javascript - d3 使 Y 轴位置固定,即使滚动条 x

charts - 如何在通过 Openpyxl 创建的图表中显示数据标签

c# - 无法在 javascript 中获取 html 文本框的值

javascript - 将箭头颜色与 D3 中的线条颜色匹配

javascript - d3.js 示例在 Github Pages 上托管时不起作用?

IOS:按设备语言的日期格式

ios - 如果使用 "ActiveLabel.swift"标记单词有空格,它将标记失败 - swift